【ASK_ORACLE】重灌Oracle資料泵(Datapump)工具的方法

Attack_on_Jager發表於2023-02-15

前言

如果資料泵(Datapump)工具在初始化時不正常,會出現比如 Datapump 相關的資料字典異常,內部錯誤或者 hang 住,我們需要重建Datapump。

 

每種版本的不同重建 Datapump的辦法

一、對於10gR2

1.執行指令碼Catdph.sql 會重新安裝 DataPump types 和 views

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

 

注:

如果安裝了XDB, 那麼也需要執行 "catmetx.sql" 指令碼,使用下面的 SQL 檢查是否安裝了 XDB:

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;

 

如果安裝了,那麼會顯示:

“Oracle XML Database XDB -version- VALID”

 

2.執行指令碼prvtdtde.plb 會重新安裝 tde_library packages

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

 

3. 執行指令碼catdpb.sql 會重新安裝 Datapump packages

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

 

4.執行指令碼dbmspump.sql 會重新安裝 DBMS DataPump 物件

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

 

5. 最後重新編譯失效物件

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

 

二、對於11g和12.1

1.執行指令碼catproc.sql

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

 

2. 最後重新編譯失效物件

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

 

注:

對於12.1在重建Datapump前,需要檢查是否打過補丁Patch 25139545

 

三、對於12.2及以上版本

1.把所有 pdb 置於 open 狀態,並在 CDB 執行 dpload.sql

 

2.執行指令碼dpload.sql

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

 

注:

如果 DataPump 在某個 PDB 中狀態是異常的,可以執行相同的步驟來重建 DataPump


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

相關文章