DataPump在10g、11g下重建实验

 

Oracle DataPump(数据泵)是从10g版本推出的全新数据备份还原工具。作为经典Exp/Imp工具的替代品,Data Pump具有很多特殊的特性优点,在速度、稳定性、兼容性和功能上有了诸多的强化。

和传统Exp/Imp工具相比,服务端运行和后台作业运行时Data Pump的两个独特特性。Exp/Imp是在Oracle客户端运行的命令程序,通过远程(或者本地)连接数据库服务器,将数据进行抽取动作。由于依托是客户端的命令程序,只要两者连接网络中断,操作就会终止。而Data Pump是运行在服务器端,在服务器端进行激发执行的。创建Data Pump作业首先是在Oracle内部定义出一个Job,自动去进行调度执行。即使我们远程的连接会话中断,Oracle后台也会持续运行下去。另外,运行在服务器端,也客观减少了由于版本不匹配引起的潜在风险故障。

但是,Data Pump的运行基础是服务器端的数据字典。在实际工作场景中,如果存在数据字典损坏的情况,Data Pump会有报错或者工作不正常的情况。比较典型的就是Data Pump涉及包由于关联关系引发的失效故障。

对于这种情况,数据字段全局或者局部恢复是最常用的解决方法。本文主要介绍如何在10g11g两个主流版本Oracle中进行Data Pump恢复。

 

111g Data Pump恢复

 

首先我们介绍11g环境下的Data Pump恢复,选择11.2.0.4版本。

 

 

SQL> conn / as sysdba

Connected.

SQL> select * from v$version;

 

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production

PL/SQL Release 11.2.0.4.0 - Production

CORE    11.2.0.4.0      Production

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 – Production

 

 

11g下的数据字典重构比较简单,Data Pump和其他组件之间的关联关系比较紧密。对于我们来讲最可行的策略就是进行数据字段的全部重构。注意:强烈建议在服务器端进行脚本执行,避免由于版本差异造成的问题故障。

 

 

SQL> @?/rdbms/admin/catproc.sql

(长时间等待......

 

  5     dbms_registry.loaded('CATPROC');

  6     dbms_registry_sys.validate_catproc;

  7     dbms_registry_sys.validate_catalog;

  8  END;

  9  /

 

PL/SQL procedure successfully completed.

 

SQL>

SQL> SELECT dbms_registry_sys.time_stamp('CATPROC') AS timestamp FROM DUAL;

 

TIMESTAMP

--------------------------------------------------------------------------------

COMP_TIMESTAMP CATPROC    2014-08-07 23:48:05

 

1 row selected.

 

 

在进行数据字典重构的过程中,由于是串行过程,可能会存在字典对象Invalid情况。之后利用utlrp.sql脚本重新进行编译。

 

 

SQL> @?/rdbms/admin/utlrp.sql

SQL> Rem

SQL> Rem $Header: utlrp.sql 24-jul-2003.10:06:51 gviswana Exp $

SQL> Rem

(篇幅原因,有省略……

Rem ===========================================================================

SQL> Rem END utlrp.sql

SQL> Rem ===========================================================================

 

 

作为实验,可以测试一下Expdp工作。

 

 

[oracle@SimpleLinux ~]$ expdp \"/ as sysdba\" schemas=scott dumpfile=scott.dmp

 

Export: Release 11.2.0.4.0 - Production on Fri Aug 8 00:01:34 2014

 

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 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Starting "SYS"."SYS_EXPORT_SCHEMA_01":  "/******** AS SYSDBA" schemas=scott dumpfile=scott.dmp

Estimate in progress using BLOCKS method...

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 30.18 MB

(篇幅原因,有省略……

Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded

******************************************************************************

Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:

  /u01/app/admin/ora11g/dpdump/scott.dmp

Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Fri Aug 8 00:03:08 2014 elapsed 0 00:00:51

 

 

恢复成功。

 

210g Data Pump恢复

 

下面聊聊10g版本,基于的版本是10.2.0.1。下面是环境变量信息。

 

 

[oracle@SimpleLinux ~]$ env | grep ORA

ORACLE_SID=ora10g

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

 

 

数据库版本信息:

 

 

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 – Production

 

 

10g版本下Data Pump重构过程比较零散,需要单独执行一系列的脚本程序。首先,重新安装Data Pump类型和视图对象。

 

 

SQL> @?/rdbms/admin/catdph.sql

 

Type dropped.

Type dropped.

Type dropped.

Library created.

Package created.

Grant succeeded.

Package created.

Grant succeeded.

 

 

第二部要看是否需要重建XML Database数据库,先在dba_registry视图中查看到组件是否安装。

 

 

SQL> select substr(comp_name,1,30) comp_name,

  2       substr(comp_id,1,10) comp_id,

  3       substr(version,1,12) version,

  4       status

  5       from dba_registry

  6       where comp_name like '%XML Database%';

 

COMP_NAME            COMP_ID    VERSION    STATUS

-------------------- ---------- ---------- ----------

Oracle XML Database  XDB        10.2.0.1.0 VALID

 

 

如果需要安装,就调用脚本进行安装。

 

 

SQL> @?/rdbms/admin/catmetx.sql

 

View created.

Grant succeeded.

Procedure created.

System altered.

System altered.

System altered.

PL/SQL procedure successfully completed.

Procedure dropped.

 

 

重建TDE库,执行脚本。

 

 

SQL> @?/rdbms/admin/prvtdtde.plb

 

Library created.

No errors.

Package created.

Synonym created.

Package created.

 

 

重建Data PumpPackage对象。

 

 

SQL> @?/rdbms/admin/catdpb.sql

 

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

Package created.

Package body created.

 

PL/SQL procedure successfully completed.

 

 

重建Data Pump的对象。

 

 

SQL> @?/rdbms/admin/dbmspump.sql

 

Type created.

Type created.

Library created.

Type body created.

Type body created.

Grant succeeded.

Grant succeeded.

 

 

最后,也要将失效对象进行重新编译。

 

 

SQL> @?/rdbms/admin/utlrp.sql

 

TIMESTAMP

--------------------------------------------------------------------------------

COMP_TIMESTAMP UTLRP_BGN  2014-08-08 00:31:18

(篇幅原因,有省略……

ERRORS DURING RECOMPILATION

---------------------------

                          0

 

PL/SQL procedure successfully completed.

 

 

测试Expdp工作情况。

 

 

oracle@SimpleLinux ~]$ expdp \"/ as sysdba\" schemas=scott dumpfile=scott.dmp

 

Export: Release 10.2.0.1.0 - Production on Friday, 08 August, 2014 0:32:49

 

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

 

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

(篇幅原因,有省略……

Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:

  /u01/app/oracle/product/10.2.0/db_1/rdbms/log/scott.dmp

Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at 00:33:17

 

 

重建成功。

 

3、结论

 

随着Oracle新版本的不断推出,传统Exp/Imp工具会逐渐的退出历史舞台。Data Pump会逐渐消除自身存在一些Bug和缺陷,成为主流数据备份还原工具。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17203031/viewspace-1247784/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17203031/viewspace-1247784/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值