expdp匯出報錯ORA-39127

資料與人發表於2021-04-06

處理物件型別 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';


匯出正常


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69997824/viewspace-2766601/,如需轉載,請註明出處,否則將追究法律責任。

相關文章