I'm new to Oracle Warehouse Builder 11gR2, but already not loving it! I'm using it in a VM with 2GB RAM and on XP 32bits.
I have 9 mappings from flat files to target, from source relational BD to target, etc. The problem in 3 of those mappings seems to be when I join tables both from souce and the stage area. I don't know if it's relevant, but my source DB it's on this same machine as the stage area(target), but in different tablespaces.
I can show you:
1- How I've created the source DB user tablespaces:
CREATE TABLESPACE insrc DATAFILE 'C:\IN\tablespaces\in_src.dbf' SIZE 100M;
CREATE TEMPORARY TABLESPACE insrc_temp TEMPFILE 'C:\IN\tablespaces\insrc_temp.dbf' SIZE 50M;
CREATE USER insrc IDENTIFIED BY insrc DEFAULT TABLESPACE insrc TEMPORARY TABLESPACE insrc_temp QUOTA 0 on system;
GRANT ALL PRIVILEGES TO insrc;
-- Grant this role to be able to import a dump file
GRANT IMP_FULL_DATABASE to insrc;
-- Grant this role to be able to export to a dump file
GRANT EXP_FULL_DATABASE to insrc;
and then, in cmd line I've imported like this: imp SYSTEM/%PASSWORD_DO_ORACLE% FROMUSER=trab2 TOUSER=insrc file='trab2.DMP'
2- How i've created the tablespaces for the target stage area user tablespaces and roles:
CREATE TABLESPACE indw DATAFILE 'C:\IN\tablespaces\indw.dbf' SIZE 128M AUTOEXTEND ON NEXT 512K MAXSIZE 250M;
CREATE TEMPORARY TABLESPACE indwtemp TEMPFILE 'C:\IN\tablespaces\indwtemp.dbf' SIZE 3M AUTOEXTEND ON NEXT 512K MAXSIZE 200M;
CREATE USER indw IDENTIFIED BY indw DEFAULT TABLESPACE indw TEMPORARY TABLESPACE indwtemp;
ALTER USER indw account unlock;
GRANT CREATE SESSION TO indw;
-- grant all system privileges
GRANT ALL PRIVILEGES TO indw;
-- grant all ROLES
GRANT "OLAP_XS_ADMIN" TO "INDW" ;
GRANT "WFS_USR_ROLE" TO "INDW" ;
GRANT "DELETE_CATALOG_ROLE" TO "INDW" ;
GRANT "HS_ADMIN_SELECT_ROLE" TO "INDW" ;
GRANT "CWM_USER" TO "INDW" ;
GRANT "SPATIAL_WFS_ADMIN" TO "INDW" ;
GRANT "OLAP_DBA" TO "INDW" ;
GRANT "OWB$CLIENT" TO "INDW" ;
GRANT "RESOURCE" TO "INDW" ;
GRANT "APEX_ADMINISTRATOR_ROLE" TO "INDW" ;
GRANT "OWB_DESIGNCENTER_VIEW" TO "INDW" ;
GRANT "CTXAPP" TO "INDW" ;
GRANT "SPATIAL_CSW_ADMIN" TO "INDW" ;
GRANT "GATHER_SYSTEM_STATISTICS" TO "INDW" ;
GRANT "AUTHENTICATEDUSER" TO "INDW" ;
GRANT "CONNECT" TO "INDW" ;
GRANT "HS_ADMIN_EXECUTE_ROLE" TO "INDW" ;
GRANT "PLUSTRACE" TO "INDW" ;
GRANT "LOGSTDBY_ADMINISTRATOR" TO "INDW" ;
GRANT "JAVADEBUGPRIV" TO "INDW" ;
GRANT "XDB_WEBSERVICES_WITH_PUBLIC" TO "INDW" ;
GRANT "XDBADMIN" TO "INDW" ;
GRANT "XDB_WEBSERVICES_OVER_HTTP" TO "INDW" ;
GRANT "CSW_USR_ROLE" TO "INDW" ;
GRANT "OLAPI_TRACE_USER" TO "INDW" ;
GRANT "JAVAIDPRIV" TO "INDW" ;
GRANT "DBFS_ROLE" TO "INDW" ;
GRANT "ADM_PARALLEL_EXECUTE_TASK" TO "INDW" ;
GRANT "AQ_ADMINISTRATOR_ROLE" TO "INDW" ;
GRANT "JAVA_DEPLOY" TO "INDW" ;
GRANT "OEM_MONITOR" TO "INDW" ;
GRANT "XDB_WEBSERVICES" TO "INDW" ;
GRANT "JAVAUSERPRIV" TO "INDW" ;
GRANT "MGMT_USER" TO "INDW" ;
GRANT "OWB_USER" TO "INDW" ;
GRANT "JAVA_ADMIN" TO "INDW" ;
GRANT "JMXSERVER" TO "INDW" ;
GRANT "EXECUTE_CATALOG_ROLE" TO "INDW" ;
GRANT "SCHEDULER_ADMIN" TO "INDW" ;
GRANT "DATAPUMP_IMP_FULL_DATABASE" TO "INDW" ;
GRANT "WM_ADMIN_ROLE" TO "INDW" ;
GRANT "ORDADMIN" TO "INDW" ;
GRANT "AQ_USER_ROLE" TO "INDW" ;
GRANT "DATAPUMP_EXP_FULL_DATABASE" TO "INDW" ;
GRANT "SELECT_CATALOG_ROLE" TO "INDW" ;
GRANT "RECOVERY_CATALOG_OWNER" TO "INDW" ;
GRANT "OLAP_USER" TO "INDW" ;
GRANT "DBA" TO "INDW" ;
GRANT "JAVASYSPRIV" TO "INDW" ;
GRANT "XDB_SET_INVOKER" TO "INDW" ;
GRANT "HS_ADMIN_ROLE" TO "INDW" ;
GRANT "EJBCLIENT" TO "INDW" ;
GRANT "OEM_ADVISOR" TO "INDW" ;
ALTER USER "INDW" DEFAULT ROLE "EXP_FULL_DATABASE","IMP_FULL_DATABASE";
-- Might be needed ...just in case
-- run plustrace.bat before grant this privilege
-- GRANT plustrace TO indw;
/* To create a database directory, a user requires the CREATE DIRECTORY and DROP DIRECTORY privileges.
When you create a Warehouse Builder user, these privileges are not automatically granted
to the user. Therefore, the database administrator must explicitly grant these privileges
to the Warehouse Builder user.*/
GRANT CREATE ANY DIRECTORY TO indw;
GRANT DROP ANY DIRECTORY TO indw;
One of the mappings with problems is the CLIENTS_MAPPING which needs CUSTOMERS (from src), COUNTRIES(from src), DEMOGRAPHY(from target) and CLIENT_LAST_BUY(from target too). The insertion is supposed to consist on 50,000 rows and it's taking more than 30min and there is no data, at all, on the the CLIENTS table.
This problem also occurs on other mappings that envolve tables form source and target. When I use just from one place or another, there is no problem.
I'll leave you my Power Designer auto-generated code for the table CLIENTS as mentioned above:
create table CLIENTS
(
CLIENT_ID NUMBER not null,
CLIENT_ID_SRC NUMBER,
COUNTRY_ID_SRC CHAR(2 BYTE),
DEMOG_ID NUMBER not null,
CLIENT_NAME VARCHAR2(70),
CLIENT_BIRTH_YEAR NUMBER(4),
CLIENT_PHONE VARCHAR2(25),
CLIENT_CREDIT_LIMIT NUMBER,
CLIENT_EMAIL VARCHAR2(30),
CLIENT_STREET_ADDRESS VARCHAR2(40),
CLIENT_LAST_BUY DATE,
CLIENT_COUNTRY VARCHAR2(40),
CLIENT_STATE_PROVINCE VARCHAR2(50),
CLIENT_CITY VARCHAR2(50),
constraint PK_CLIENTS primary key (CLIENT_ID)
);
/*==============================================================*/
/* Index: CLIENT_INFO_FK */
/*==============================================================*/
create index CLIENT_INFO_FK on CLIENTS (
DEMOG_ID ASC
);
alter table CLIENTS
add constraint FK_CLIENTS_INFO foreign key (DEMOG_ID)
references DEMOGRAPHY (DEMOG_ID);
I'm logging on OWB GUI as rep_owner (with all the permissions). The strange thing is that my colleague has this exactly mapping running on his machine in OWB 11gR1 and with no problems. But he imported the source DB to the target user...and that's the only different thing that he did.
Can someone please help me?