Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24167
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 102
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-12 17:08
文章分类

全部博文(9)

文章存档

2016年(9)

我的朋友

分类: Oracle

2016-11-09 16:25:51

执行数据泵导出数据的时候出现如下问题:
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,继续数据泵导出,可以正常操作。
阅读(1488) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~