PLS-00201: identifier 'SYS.DBMS_CUBE_EXP' must be declared
Bei der Durchführung eines export data pump ( hier in der Version 11.2.0.3) tritt folgender Fehler auf:
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
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-06550: line 1, column 8:
PLS-00201: identifier 'SYS.DBMS_CUBE_EXP' must be declared
ORA-06550: line 1, column 8:
PL/SQL: Statement ignored
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.KUPW$WORKER", line 8353
Ursache:
In der Datenbank befinden sich noch OLAP Objekte im data dictionary
während die OLAP Option nicht installiert oder deinstalliert wurde.
Zur Überprüfung mittels sqlplus as sysdba verbinden:
connect / as sysdba
SELECT * FROM SYS.EXPPKGACT$ WHERE PACKAGE = 'DBMS_CUBE_EXP';
Lösung:
Mittels folgendem Statement kann das übergebliebene Objekt gelöscht werden:
ggf. ein backup anlegen:
sqlplus / as sysdba
SQL> CREATE TABLE SYS.EXPPKGACT$_BACKUP AS SELECT * FROM SYS.EXPPKGACT$;
DBMS_CUBE_EXP von SYS.EXPPKGACT$ löschen:
SQL> DELETE FROM SYS.EXPPKGACT$ WHERE PACKAGE = 'DBMS_CUBE_EXP' AND SCHEMA= 'SYS';
SQL> COMMIT;
Nun sollte das export data pump utility wieder funktionieren.
Weitere Infos finden sich bei my Oracle support z.B. unter ID: 1328829.1
zurück zur Übersicht: Oracle Database Fehler