重庆思庄Oracle、Redhat认证学习论坛

标题: How To Reload Datapump Utility EXPDP/IMPDP (Doc ID 430221.1) [打印本页]

作者: 郑全    时间: 2022-5-30 14:59
标题: How To Reload Datapump Utility EXPDP/IMPDP (Doc ID 430221.1)
How To Reload Datapump Utility EXPDP/IMPDP (Doc ID 430221.1)

In this Document
Goal
Solution
References
APPLIES TO:
Oracle Database Cloud Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database - Enterprise Edition - Version 10.1.0.2 and later
Information in this document applies to any platform.
GOAL
How to reload DATAPUMP utility? This may be required in different situations, like hanging issues, internal errors, data dictionary incompatibility, etc, all of them related to initiating phase of DataPump.



SOLUTION


In some cases DataPump utility may get corrupted and we need to recreate DataPump utility to overcome internal corruption. To do this, run specified scripts for Oracle version that you are running as given below. In a RAC environment, run the scripts only on one instance.

Note:  Run the following as sysdba user:

SQL> connect / as sysdba

For Oracle version 10.1 :

-- 1. Catdp.sql orders the installation of all its components including the Metadata API which was previously installed separately.
SQL> @$ORACLE_HOME/rdbms/admin/catdp.sql


-- 2. dbmspump.sql will create DBMS procedures for DATAPUMP


SQL> @$ORACLE_HOME/rdbms/admin/dbmspump.sql

For Oracle version 10.2:

-- 1.Catdph.sql will Re-Install DataPump types and views

SQL> @$ORACLE_HOME/rdbms/admin/catdph.sql


-- Note:
-- If XDB is installed, then it is required to run "catmetx.sql" script also.
-- Use this code to verify if XDB is installed:

SQL> select substr(comp_name,1,30) comp_name,
     substr(comp_id,1,10) comp_id,
     substr(version,1,12) version,
     status
     from dba_registry;

-- Sample output if XDB installed,
Oracle XML Database    XDB    -version-    VALID


-- 2.prvtdtde.plb will re-install tde_library packages

SQL> @$ORACLE_HOME/rdbms/admin/prvtdtde.plb


-- 3. Catdpb.sql will Re-Install DataPump packages

SQL> @$ORACLE_HOME/rdbms/admin/catdpb.sql


-- 4.Dbmspump.sql will Re-Install DBMS DataPump objects

SQL> @$ORACLE_HOME/rdbms/admin/dbmspump.sql


-- 5. To recompile  invalid objects, if any

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

For Oracle version 11g and higher prior to 12c:





-- 1. Run catproc script, Catproc.sql

For running catproc.sql, please refer to


Note:863312.1 - Best Practices for running catalog, catproc and utlrp script


NOTE: IMPORTANT!

The catproc script should be run after the database has been opened with STARTUP UPGRADE.
The catproc script should NOT be run when the database is opened with unrestricted access. This can cause the database to experience performance issues, invalid objects and can even lead to a hanging situation.









-- 2.To recompile invalid objects, if any

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql




Note: For Oracle release 12.1.0.1, there is no dpload.sql in $ORACLE_HOME/rdbms/admin.
To reload DataPump in Oracle release 12.1.0.1, please use the above steps shown for "For Oracle version 11g and higher prior to 12c".




For Oracle version 12c:

Note 1: Prior rebuilding DP catalog in 12.1.0.2 CDB , install Patch 25139545 as alerted in Document 2175021.1 - "Alert - Multitenant Customers: The objects created by the post-install steps of 12.1.0.2 Generic DataPump Patches Are not Shared Across All PDBS".
            Failure of Datapatch on Multitenant Environment Can Cause DataPump Dictionary Inconsistency in Pluggable Database (PDB), see Document 2327652.1.
Note 2:  For issues regarding KU$ Invalid Objects Owned by SYS after upgrading or applying datapatch, refer to Document 2289785.1 to rebuild Datapump.


For Oracle version 12c and higher:

-- 1.To rebuild the DataPump packages with the following steps.
Under the ORACLE_HOME, execute:
cd rdbms/admin

-- run the dpload.sql in the CDB with all of the PDBs open

From a SQL*Plus session, connect as sysdba

and then run dpload.sql:

@dpload.sql

on the affected database.

Note: If DataPump catalog is not valid in a PDB, same step should be executed to validate the DP catalog on a pluggable database.



-- 2.To recompile invalid objects, if any

SQL> @utlrp.sql


Additional Resources

Community: Database Utilities

Still have questions? Use the above community to search for similar discussions or start a new discussion on this subject.



REFERENCES
NOTE:1641557.1 - Script To Verify The DataPump Catalog
NOTE:2289785.1 - KU$ Invalid Objects Owned By SYS After Applying April 2017 Critical Patch Update
NOTE:2175021.1 - Alert - Multitenant Customers: The objects created by the post-install steps of 12.1.0.2 Generic DataPump Patches Are not Shared Across All PDBS
NOTE:863312.1 - Best Practices for running catalog, catproc and utlrp script






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2