Export error after applying CPUOCT2007
After you apply CPUOCT2007 (Patch 12) on top of Oracle 10.2.0.3 you’ll get error during full database export, such as the one shown below:
. about to export SYSTEM's tables via Direct Path ... . . exporting table DEF$_AQCALL EXP-00008: ORACLE error 6550 encountered ORA-06550: line 1, column 18: PLS-00201: identifier 'SYS.DBMS_DEFER_IMPORT_INTERNAL' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored ORA-06512: at "SYS.DBMS_SYS_SQL", line 1204 ORA-06512: at "SYS.DBMS_SQL", line 323 ORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 97 ORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 126 ORA-06512: at line 1
Bug is documented in Metalink note:
464672.1 “ORA-06512 SYS.DBMS_EXPORT_EXTENSION And PLS-00201 SYS.DBMS_DEFER_IMPORT_INTERNAL in 11g Export Or After OCTCPU2007”
The recommended workaround is to grant the missing privileges:
GRANT EXECUTE ON SYS.DBMS_DEFER_IMPORT_INTERNAL TO user_doing_export; GRANT EXECUTE ON SYS.DBMS_EXPORT_EXTENSION TO user_doing_export;
By the way, a short tip: we’re running full export with rows=n on a daily basis. Why? Because we’re keeping those dumps long-term, if anyone wants to get some DDL definition or PL/SQL procedure/package from the past, we can extract the source with the excellent free utility DDL Wizard. DDL Wizard can parse empty (rows=n) export dump files.