ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_DDL"

在10g打完一个CPU后,在做export时发现以下错误:

EXP-00008: ORACLE error 4063 encountered
ORA-04063: package body "SYS.DBMS_DDL" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_DDL"
ORA-06512: at line 1
EXP-00056: ORACLE error 1403 encountered
ORA-01403: no data found
EXP-00000: Export terminated unsuccessfully

[@more@]

检查invalid的object数,发现多达90多个。

以下是解决办法:

$sqlplus "/as sysdba"
SQL> startup upgrade
SQL > @?/rdbms/admin/catalog.sql
SQL > @?/rdbms/admin/catproc.sql
SQL > @?/rdbms/admin/utlrp.sql

请使用浏览器的分享功能分享到微信等