【故障处理】通过重建数据库对象解决因EXPDP/IMPDP工具损坏无法使用问题

EXPDP/IMPDP是非常高效的数据库逻辑备份与恢复工具,突然有一天如果这两个工具损坏了,无法使用,该如何是好呢?
在最极端的情况下我们也可以通过重建的方法来解决问题。
具体的恢复步骤如下,该过程已在Oracle 11gR2验证,供参考。

1.以SYS身份登录到数据库
secooler@secDB /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sun Jun 14 22:52:02 2010

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

sys@11gR2>

2.使用Catdph.sql脚本重建数据泵的TYPES和VIEWS
sys@11gR2> @$ORACLE_HOME/rdbms/admin/catdph.sql

3.如果安装了XDB,需要执行脚本catmetx.sql
sys@11gR2> @$ORACLE_HOME/rdbms/admin/catmetx.sql

4.使用prvtdtde.plb脚本重建tde_library包
sys@11gR2> @$ORACLE_HOME/rdbms/admin/prvtdtde.plb

5.使用Catdpb.sql脚本重建DataPump包
sys@11gR2> @$ORACLE_HOME/rdbms/admin/catdpb.sql

6.使用Dbmspump.sql脚本重建DataPump对象
sys@11gR2> @$ORACLE_HOME/rdbms/admin/dbmspump.sql

7.如果有无效的数据库对象,重新编译之
sys@11gR2> @$ORACLE_HOME/rdbms/admin/utlrp.sql

8.小结
通过如上几个步骤,我们便完成了EXPDP/IMPDP工具的重建的工作,如果在重建的过程中没有出现其他问题,可以说我们成功挽救了EXPDP/IMPDP,生命得以延续~~
BTW:如果是Oracle 10gR1版本,重建仅需要执行两个脚本:catdp.sql和dbmspump.sql。

Good luck.

secooler
10.06.14

-- The End --

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