使用impdp导数时报ORA-39126与ORA-01775: looping chain of synonyms错误

今天在使用impdp做数据迁移时遇到ORA-39126和ORA-01775的错误,以下为整个操作过程及解决方案。
环境:源库: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 [SELECT connect_type, need_execute, parallel_load FROM   DATAPUMP_OBJECT_CONNECT WHERE  object_type = :1]
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 [SELECT connect_type, need_execute, parallel_load FROM   DATAPUMP_OBJECT_CONNECT WHERE  object_type = :1]
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表无论在目标库还是源库都没有与之相关的同义词存在

解决方法:(以下方法为好心网友提供,经测试可以解决上述错误)

有可能是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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20801486/viewspace-1133165/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20801486/viewspace-1133165/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值