前言
如果数据泵(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博客 ” ,链接:https://blog.itpub.net/69992972/viewspace-2935434/ ,如需转载,请注明出处,否则将追究法律责任。