数据库快速恢复Oracle数据库:impdp实现方案(impdporacle)

快速恢复Oracle数据库的关键就是利用Oracle的DataPump(impdp)导入导出技术,它可以导出任何数据库中与导出相关的数据,同时保留表空间,存储结构及约束等,从而有效恢复数据库。

impdp有两种实现方案:全数据库恢复和增量恢复。

一、全数据库恢复

1. 首先,在源数据库上进行全库导出:

[oracle@source ~]$ impdp system/oracle@source DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp EXCLUDE=STATISTICS LOGFILE=impfull.log

2. 将导出的数据文件传送至目标库服务器,使用快速恢复方式导入:

[oracle@target ~]$ impdp system/oracle@target DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp EXCLUDE=STATISTICS LOGFILE=impfull.log

3. 利用impdp的REMAP_SCHEMA选项,重新映射数据库的各个Schema到目标库

[oracle@target ~]$ impdp system/oracle@target DIRECTORY=dpump_dir1 REMAP_SCHEMA=source.sys:sys,source.system:system

二、增量恢复

1. 首先,在源数据库上导出修改过的对象:

[oracle@source ~]$ impdp system/oracle@source DIRECTORY=dpump_dir1 DUMPFILE=expdiff.dmp INCLUDE=TABLE:”IN (‘TABLE1′,’TABLE2’)” LOGFILE=impdiff.log

2. 将导出的数据文件传送至目标库服务器,使用快速恢复方式导入:

[oracle@target ~]$ impdp system/oracle@target DIRECTORY=dpump_dir1 DUMPFILE=expdiff.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING INCLUDE=TABLE:”IN (‘TABLE1′,’TABLE2’)” LOGFILE=impdiff.log

3. 导入结束后,对导出库上修改过的表及存储进行更新,永久更新目标库上这些表定义

[oracle@target ~]$ impdp system/oracle@target DIRECTORY=dpump_dir1 DUMPFILE=expdiff.dmp TRANSFORM=ALTER_TABLESPACES LOGFILE=impdiff.log

总之,只需要更改本地目录,利用DataPump(impdp)导入导出技术可以实现快速恢复Oracle数据库,是一项非常有用的工具。这项数据库恢复方法耗时少,结果准确,也可为用户提供更加可靠的恢复保证。


数据运维技术 » 数据库快速恢复Oracle数据库:impdp实现方案(impdporacle)