expdp报错ora 39126

2023-05-12,,

11.2.0.2,expdp报错

ORA-39126: Worker unexpected fatal error in KUPW$WORKER.GET_TABLE_DATA_OBJECTS []
ORA-31642: the following SQL statement fails:
BEGIN "SYS"."DBMS_CUBE_EXP".SCHEMA_CALLOUT(:1,0,1,'11.02.00.00.00'); END;
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_METADATA", line 1245
ORA-04063: package body "SYS.DBMS_CUBE_EXP" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_CUBE_EXP"

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.KUPW$WORKER", line 8353

查询oracle文档ID 1328829.1,原因是

OLAP objects remain existing in data dictionary while OLAP is not installed or was de-installed. Verify with:

connect / as sysdba
SELECT * FROM SYS.EXPPKGACT$ WHERE PACKAGE = 'DBMS_CUBE_EXP';
解决方法:

-- backup the table SYS.EXPPKGACT$ before deleting the row

SQL> CREATE TABLE SYS.EXPPKGACT$_BACKUP AS SELECT * FROM SYS.EXPPKGACT$;

-- delete the DBMS_CUBE_EXP from the SYS.EXPPKGACT$

SQL> DELETE FROM SYS.EXPPKGACT$ WHERE PACKAGE = 'DBMS_CUBE_EXP' AND SCHEMA= 'SYS';
SQL> COMMIT;

Run EXPDP command again.

expdp报错ora 39126的相关教程结束。

《expdp报错ora 39126.doc》

下载本文的Word格式文档,以方便收藏与打印。