2

Oracle Warehouse Builder 11gR2は初めてですが、まだ好きではありません。2GBのRAMとXP32ビットを搭載したVMで使用しています。

フラットファイルからターゲット、ソースリレーショナルBDからターゲットなどに9つのマッピングがあります。これらのマッピングのうち3つに問題があるのは、ソースとステージ領域の両方からテーブルを結合する場合のようです。関連性があるかどうかはわかりませんが、ソースDBは、ステージ領域(ターゲット)と同じマシン上にありますが、テーブルスペースが異なります。

私はあなたに示すことができます:
1-ソースDBユーザーテーブルスペースを作成した方法:

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;

次に、cmd行に次のようにインポートしました。imp SYSTEM/%PASSWORD_DO_ORACLE% FROMUSER=trab2 TOUSER=insrc file='trab2.DMP'

2-ターゲットステージエリアのユーザーテーブルスペースとロールのテーブルスペースを作成する方法:

 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;

問題のあるマッピングの1つは、CUSTOMERS(srcから)、COUNTRIES(srcから)、DEMOGRAPHY(ターゲットから)、およびCLIENT_LAST_BUY(ターゲットからも)を必要とするCLIENTS_MAPPINGです。挿入は50,000行で構成されると想定されており、30分以上かかり、CLIENTSテーブルにはデータがまったくありません。

この問題は、ソースとターゲットのテーブルを含む他のマッピングでも発生します。どこかから使っても問題ありません。

上記のように、テーブルCLIENTS用にPowerDesignerで自動生成されたコードを残しておきます。

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);

OWB GUIにrep_ownerとして(すべての権限を使用して)ログオンしています。奇妙なことに、私の同僚は、OWB 11gR1の自分のマシンでこの正確なマッピングを実行しており、問題はありません。しかし、彼はソースDBをターゲットユーザーにインポートしました...そしてそれが彼が行った唯一の異なることです。

誰か助けてくれませんか?

4

1 に答える 1

1

DBA_RESUMABLEを確認してください。一時表領域が不足している可能性があります。

表領域を可能な限り組み合わせてみることをお勧めします。ストレージを分割すればするほど、Oracleのスペースが不足しやすくなります。

于 2011-05-23T02:26:27.327 に答える