expdp 報錯 ORA-04063: package body "SYS.DBMS_METADATA_UTIL" has errors

pxbibm發表於2018-06-11
使用expdp匯出資料時,報錯如下:
Export: Release 11.2.0.4.0 - Production on Fri Jun 1 18:18:57 2018

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_SCHEMA_01 for user CEM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 1587
ORA-39062: error creating master process DM00
ORA-31613: Master process DM00 failed during startup.
原因是:

經過查詢發現,資料庫的兩個元件invalid和一些物件失效,具體如下

Some objects invalid cause export failure, customer need to validate these components and SYS objects.   The following are collecting informations :   SQL> select comp_name, status, version 2  from dba_registry;   COMP_NAME                                STATUS               VERSION ---------------------------------------- -------------------- ------------------------------------------------------------ Oracle Text                              VALID                11.2.0.2.0 Oracle Workspace Manager                 VALID                11.2.0.2.0 Oracle Database Catalog Views            INVALID              11.2.0.2.0 <<<<<<<<<<<<<<<<<<<<<<<<<< Oracle Database Packages and Types       INVALID              11.2.0.2.0  <<<<<<<<<<<<<<<<<<<<<<<<<< Oracle Real Application Clusters         VALID                11.2.0.2.0     SQL> select owner, object_name, object_type, status 2  from dba_objects 3  where status <> 'VALID';   OWNER              OBJECT_NAME                                        OBJECT_TYPE          STATUS ------------------ -------------------------------------------------- -------------------- -------------------- SYS                DBMS_METADATA                                      PACKAGE BODY         INVALID <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< SYS                DBMS_METADATA_INT                                  PACKAGE BODY         INVALID <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< SYS                DBMS_METADATA_UTIL                                 PACKAGE BODY         INVALID <<<<<<<<<<<<<<

解決方案:

please perform the following scripts during system idle time to recompile invalid objects.

Note: before running the script, take full backup and validate the backups.
 
SQL> connect / sysdba
SQL> spool catalog.log
SQL> @?/rdbms/admin/catalog
SQL> spool off
SQL> spool catproc.log
SQL> @?/rdbms/admin/catproc
SQL> spool off
SQL> spool utlrp.log
SQL> @?/rdbms/admin/utlrp
SQL> spool off
 
When you finished, perform the following SQL to check for invalid objects.
 
SQL> select owner,object_name,object_type,status from dba_objects where status = 'INVALID';

 

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

相關文章