数据库快速恢复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数据库,是一项非常有用的工具。这项数据库恢复方法耗时少,结果准确,也可为用户提供更加可靠的恢复保证。