Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

8

积分

1

好友

20

主题
1#
发表于 2014-3-10 13:42:19 | 查看: 8435| 回复: 4
环境:
  源库: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表无论在目标库还是源库都没有与之相关的同义词存在, 求指点,感谢!
2#
发表于 2014-3-10 21:35:20
照 mos的说法,
trace 文件 在 directories 目录里。
并且用这个方法 之后,大概就能找到问题了

回复 只看该作者 道具 举报

3#
发表于 2014-3-11 09:05:02
psufnxk2000 发表于 2014-3-10 21:35
照 mos的说法,
trace 文件 在 directories 目录里。
并且用这个方法 之后,大概就能找到问题了

我找的那篇MOS是说在user_dump_dest参数指定的路径下不过没找到,你说的directories目录是哪里啊?

回复 只看该作者 道具 举报

4#
发表于 2014-3-11 14:14:49
有可能是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


回复 只看该作者 道具 举报

5#
发表于 2014-3-12 16:40:46
生生不息 发表于 2014-3-11 14:14
有可能是datapump的数据字典出问题,可以尝试reload datapump的数据字典,
For Oracle version 10.2:

非常感谢,这个问题困扰了几天,按照你的方法问题解决!

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-21 06:26 , Processed in 0.045826 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569