Oracle 11g 数据泵导出ORA-39126、ORA-04063、ORA-06508问题排查

执行数据泵导出数据的时候出现如下问题:
Estimate in progress using STATISTICS method...
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.CONFIGURE_METADATA_UNLOAD [ESTIMATE_PHASE] 
ORA-04063: package body "SYS.DBMS_METADATA" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_METADATA"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 9715
产生ORA-04063的错误,尝试去手动编译,看有没有报错
SQL> alter package SYS.DBMS_METADATA compile package;
SQL> alter package SYS.DBMS_METADATA compile body;
Warning: Package Body altered with compilation errors.
SQL> show errors
Errors for PACKAGE BODY SYS.DBMS_METADATA:

LINE/COL ERROR
-------- -----------------------------------------------------------------
82/1     PL/SQL: Item ignored
82/33    PLS-00201: identifier 'SYS.KU$_OBJGRANT_T' must be declared
1766/13  PL/SQL: Item ignored
1766/13  PLS-00201: identifier 'SYS.KU$_CALLOUT_T' must be declared
1809/5   PL/SQL: SQL Statement ignored
1809/18  PLS-00320: the declaration of the type of this expression is
incomplete or malformed
1813/5   PL/SQL: Statement ignored
1813/22  PLS-00320: the declaration of the type of this expression is
incomplete or malformed
LINE/COL ERROR....................

默认情况下DBMS_SYSTEM包只能由sys访问,DBMS_SYSTEM包也没有创建同义词,试着通过创建public同义词并授权看能否解决。
SQL> CREATE PUBLIC SYNONYM dbms_system FOR DBMS_SYSTEM;
Synonym created.
SQL> GRANT EXECUTE ON dbms_system TO user;
Grant succeeded.
然后重新编译包,发现问题并未解决,权限没有问题,继续排查。
catproc是用来创建数据库的基本过程和包的,试着重新创建一下,看能否顺利编译。
下面操作生产库慎用,要关库了。
SQL> shutdown immediate;
SQL> startup restict;   ---启动到限制模式
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql;
SQL> shutdown immediate;
SQL> startup;
发现一切OK,继续数据泵导出,可以正常操作。

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

转载于:http://blog.itpub.net/29535374/viewspace-2128738/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值