使用impdp导数时报ORA-39126与ORA-01775: looping chain of synonyms错误
环境:源库:10.2.0.5 64bit 目标库:10.2.0.5 64bit
以下是本人的操作步骤
1.源库导出数据
expdp cnbmbak/oracle directory=dump_dir dumpfile=test.dmp tables=CNBMCRM1822.test
2.拷贝文件到目标库
。。。。。。
3.目标库导入数据
impdp cnbmbak/oracle directory=dump_dir dumpfile=test.dmp remap_schema=CNBMCRM1822:cnbmbak
报错信息如下:
Processing object type TABLE_EXPORT/TABLE/TABLE
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS
ORA-01775: looping chain of synonyms
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 6409
----- PL/SQL Call Stack -----
object line object
handle number name
0xa47dda78 15370 package body SYS.KUPW$WORKER
0xa47dda78 6436 package body SYS.KUPW$WORKER
0xa47dda78 12590 package body SYS.KUPW$WORKER
0xa47dda78 3397 package body SYS.KUPW$WORKER
0xa47dda78 7064 package body SYS.KUPW$WORKER
0xa47dda78 1340 package body SYS.KUPW$WORKER
0x943802f8 2 anonymous block
Job "CNBMBAK"."SYS_IMPORT_FULL_01" stopped due to fatal error at 10:52:21
4.目标库开启1775事件
sqlplus / as sysdba
SQL> alter system set events '1775 trace name ERRORSTACK level 3';
5.目标库再次导入数据
重现错误
Processing object type TABLE_EXPORT/TABLE/TABLE
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS
ORA-01775: looping chain of synonyms
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 6409
----- PL/SQL Call Stack -----
object line object
handle number name
0xa47dda78 15370 package body SYS.KUPW$WORKER
0xa47dda78 6436 package body SYS.KUPW$WORKER
0xa47dda78 12590 package body SYS.KUPW$WORKER
0xa47dda78 3397 package body SYS.KUPW$WORKER
0xa47dda78 7064 package body SYS.KUPW$WORKER
0xa47dda78 1340 package body SYS.KUPW$WORKER
0xb763bea0 2 anonymous block
Job "CNBMBAK"."SYS_IMPORT_FULL_02" stopped due to fatal error at 11:08:58
6.目标库关闭1775事件
SQL> alter system set events '1775 trace name errorstack off';
7.查找trace文件
这里又遇到个疑问,1775事件设置后无法产生相应的trace
补充:关于test表无论在目标库还是源库都没有与之相关的同义词存在, 求指点,感谢! 照 mos的说法,
trace 文件 在 directories 目录里。
并且用这个方法 之后,大概就能找到问题了
psufnxk2000 发表于 2014-3-10 21:35 static/image/common/back.gif
照 mos的说法,
trace 文件 在 directories 目录里。
并且用这个方法 之后,大概就能找到问题了
我找的那篇MOS是说在user_dump_dest参数指定的路径下不过没找到,你说的directories目录是哪里啊? 有可能是datapump的数据字典出问题,可以尝试reload datapump的数据字典,
For Oracle version 10.2:
1. Catdph.sql will Re-Install DataPump types and views
SQL> @$ORACLE_HOME/rdbms/admin/catdph.sql
Note: If XDB is installed, then it is required to run "catmetx.sql" script also.
Use this code to verify if XDB is installed:
SQL> select substr(comp_name,1,30) comp_name,
substr(comp_id,1,10) comp_id,
substr(version,1,12) version,
status
from dba_registry;
Sample output if XDB installed,
Oracle XML Database XDB -version- VALID
2. prvtdtde.plb will Re-Install tde_library packages
SQL> @$ORACLE_HOME/rdbms/admin/prvtdtde.plb
3. Catdpb.sql will Re-Install DataPump packages
SQL> @$ORACLE_HOME/rdbms/admin/catdpb.sql
4. Dbmspump.sql will Re-Install DBMS DataPump objects
SQL> @$ORACLE_HOME/rdbms/admin/dbmspump.sql
5. To recompile invalid objects, if any
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
生生不息 发表于 2014-3-11 14:14 static/image/common/back.gif
有可能是datapump的数据字典出问题,可以尝试reload datapump的数据字典,
For Oracle version 10.2:
非常感谢,这个问题困扰了几天,按照你的方法问题解决!
页:
[1]