OWB-отображение зависает или занимает слишком много времени - возможна блокировка?

Я новичок в Oracle Warehouse Builder 11gR2, но уже не люблю его! Я использую его в виртуальной машине с 2 ГБ оперативной памяти и на XP 32 бит.

У меня есть 9 отображений из плоских файлов в цель, из исходного реляционного BD в цель и т. Д. Проблема в 3 из этих отображений, кажется, заключается в том, что я соединяю таблицы как из souce, так и из области рабочей области. Я не знаю, уместно ли это, но моя исходная БД находится на той же машине, что и область этапа (цель), но в разных табличных пространствах.

Я могу показать тебе:
1- Как я создал исходные табличные пространства пользователя БД:

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;

Одним из сопоставлений с проблемами является CLIENTS_MAPPING, которому нужны CUSTOMERS (из src), СТРАНЫ (из src), DEMOGRAPHY(из цели) и CLIENT_LAST_BUY(из цели тоже). Предполагается, что вставка состоит из 50000 строк и занимает более 30 минут, и в таблице CLIENTS вообще нет данных.

Эта проблема также возникает в других сопоставлениях, которые включают таблицы из источника и цели. Когда я использую только из одного места или другого, нет проблем.

Я оставлю вам мой автоматически сгенерированный код Power Designer для таблицы КЛИЕНТОВ, как указано выше:

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 и без проблем. Но он импортировал исходную БД целевому пользователю... и это единственное, что он сделал.

Может кто-нибудь, пожалуйста, помогите мне?

1 ответ

Решение

Проверьте DBA_RESUMABLE, возможно, у вас заканчивается временное табличное пространство.

Вы можете попытаться объединить ваши табличные пространства как можно больше. Чем больше вы разделяете свое хранилище, тем легче Oracle не хватает места.

Другие вопросы по тегам