expdp导出报错ORA-39127


处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
ORA-39127: 调用 export_string :=EXFSYS.DBMS_EXPFIL_DEPASEXP.SCHEMA_INFO_EXP('ECOLOGY8',1,1,'11.02.00.04.00',newblock) 时发生意外错误
ORA-04063: package body "EXFSYS.DBMS_EXPFIL_EXP" 有错误
ORA-06508: PL/SQL: 无法找到正在调用 : "EXFSYS.DBMS_EXPFIL_EXP" 的程序单元
ORA-06512: 在 "EXFSYS.DBMS_EXPFIL_DEPASEXP", line 63
ORA-06512: 在 line 1
ORA-06512: 在 "SYS.DBMS_METADATA", line 10256
^C
Export> stop

解决方式:
select owner,object_name,object_type,status from dba_objects
where object_name = 'LT_EXPORT_PKG';

如果有失效对象
在SQLPLUS中执行
SQL> @?/rdbms/admin/utlrp 重新编译一下再试试看

如果还是不行, 最终解决方案,重建该对象:
SQL> @?/rdbms/admin/owminst.plb

再次导出还是报错:

处理对象类型 SCHEMA_EXPORT/TABLESPACE_QUOTA
ORA-39127: 调用 export_string :=WMSYS.LT_EXPORT_PKG.SCHEMA_INFO_EXP('ECOLOGY8',0,1,'11.02.00.04.00',newblock) 时发生意外错误
ORA-04063: package body "WMSYS.LT_EXPORT_PKG" 有错误
ORA-06508: PL/SQL: 无法找到正在调用 : "WMSYS.LT_EXPORT_PKG" 的程序单元
ORA-06512: 在 line 1
ORA-06512: 在 "SYS.DBMS_METADATA", line 10256

解决方式
create table sys.exppkgact$_backup as select * from sys.exppkgact$; --备份表

delete from sys.exppkgact$ where package ='LT_EXPORT_PKG'; --删除表里值为 LT_EXPORT_PKG 这个的数据

再次导出还是报错,又回到了原来的错误:
RA-39127: 调用 export_string :=EXFSYS.DBMS_EXPFIL_DEPASEXP.SCHEMA_INFO_EXP('ECOLOGY8',1,1,'11.02.00.04.00',newblock) 时发生意外错误
ORA-04063: package body "EXFSYS.DBMS_EXPFIL_EXP" 有错误
ORA-06508: PL/SQL: 无法找到正在调用 : "EXFSYS.DBMS_EXPFIL_EXP" 的程序单元
ORA-06512: 在 "EXFSYS.DBMS_EXPFIL_DEPASEXP", line 63
ORA-06512: 在 line 1
ORA-06512: 在 "SYS.DBMS_METADATA", line 10256

解决方式:

DELETE FROM exppkgact$ WHERE SCHEMA='EXFSYS';


导出正常

原文地址:https://www.cnblogs.com/shujuyr/p/14323577.html