因项目需要,在生产库有老的备份集,且持续的归档日志的情况下,需在目标环境恢复到归档日志最新的数据,因此做出此验证。
环境:Centos 7, Dm8
源库准备:
1、源端disql进行热备 -- backup database backupset '/dmdata/data/zcdmdb/backup_prepare';
2、将备份集目录scp给目标机的dmdba用户,放置/copy_test/backup_prepare目录下
3、源端新增数据后切归档(用于测试归档日志恢复是否到最新,备份集的数据最新知道id 8,归日志的最新数据到id 9),如下
4、切换归档,并将整个归档目录scp至目标端的dmdba用户下,放置/copy_test/arch_rec2目录下
目标端:
1、提前准备好一个同库名、同实例名的空库。并开启归档。
2、执行以下命令恢复
- service DmServicezcdmins stop
- dmrman CTLSTMT="RESTORE DATABASE '/copy_test/data/zcdmdb/dm.ini' FROM BACKUPSET '/copy_test/backup_prepare'"
- dmrman CTLSTMT="RECOVER DATABASE '/copy_test/data/zcdmdb/dm.ini' WITH ARCHIVEDIR '/copy_test/arch_rec2'"
- dmrman CTLSTMT="RECOVER DATABASE '/copy_test/data/zcdmdb/dm.ini' UPDATE DB_MAGIC"
3、启动服务,service DmServicezcdmins start
4、disql改为open状态,alter database open force;
目标端验证数据:
注:若异机作为灾备环境,则源库每新增一个归档都传至备库进行重演,则备库不能更新magic值,每收到一个新的归档都放入arch_rec2这个目录重新recover即可(经验证,源端新增表空间、数据文件的操作也能通过归档日志同步到异机)。dmrman会自动筛选未导入的归档进行重演,最后要使用的时候再更新magic启库即可。
若源环境为达梦的DW主备,要在第三个节点上恢复时,主备的备份集和主备的归档日志不能混用。主备可任选一节点作为源,A、B机器若选定了B机器作为,则后续用的备份集和归档都只能来自B机器。(主备切换不影响,同一机器的LOCAL*归档和STANDBY*归档可以一起应用。备份集、归档只能来自同一机器) 注:oracle的dg主备两边归档日志是一样的,则可以混用。