Oracle 数据泵导出报错ORA-39126、ORA-04063、ORA-06508

测试环境数据泵备份突然报这莫名其妙的错误,怎么引发的原因不详,只能见招拆招先解决问题了。

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 9001

----- PL/SQL Call Stack -----
 object line object
 handle number name
0x44865a0a8 20462 package body SYS.KUPW$WORKER
0x44865a0a8 9028 package body SYS.KUPW$WORKER
0x44865a0a8 6814 package body SYS.KUPW$WORKER
0x44865a0a8 13688 package body SYS.KUPW$WORKER
0x44865a0a8 4633 package body SYS.KUPW$WORKER
0x44865a0a8 9753 package body SYS.KUPW$WORKER
0x44865a0a8 1775 package body SYS.KUPW$WORKER
0x41dc261f0 2 anonymous block

Job "SYS"."SYS_EXPORT_SCHEMA_04" stopped due to fatal error at 13:23:12

alter package body DBMS_METADATA compile;
 

看到ORA-04063的错误,尝试去手动编译,看有没有报错
SQL> alter package SYS.DBMS_METADATA compile body;
If there are errors,
SQL> show errors;

发现确实有错误,有PLS-00905这样的错误,错误日志漏发了。

解决方法:

1、首先尝试去编译这个包:
SQL> alter package SYS.DBMS_METADATA compile package;
SQL> alter package SYS.DBMS_METADATA compile body;

2、如果上述报错,尝试下面的方法:
SQL> shutdown immediate;
SQL> startup upgrade;
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql;//执行这个脚本后,创建数据库的统计视图,审计视图
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql;//数据库具有pl/sql的使用功能
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql;//编译数据库中的失效对象utlrp.sql
SQL> shutdown immediate;
SQL> startup;

再执行导出语句。

猜你喜欢

转载自www.linuxidc.com/Linux/2016-09/135244.htm