这里演示一个DSC环境应用规档来恢复库到DSC环境。两个节点都是处理open状态(当然一个节点DOWN机的情况下也可以备份的)。
要点:1、在恢复时一定要初始化DSC库《参集群配置》,得到dm.ini文件。
2、只需要在一个节点上还原。
步骤如下:
1、每个节点都需要配置双向的远程归档、更改备份目录的默认路径为本地磁盘(我这里配置备份为本地磁盘)
2、做联机备份
2.1 为了更好的模拟,先在两个节点都做事务,产生规档。
2.2 只在节点2上备份,并且备到本地磁盘
vi /dm/full_backup_database.sql
select checkpoint(100);
alter system archive log current;
BACKUP DATABASE;
exit;
为了以后验证:先将两个节点做事务的停掉,然后统计数据:
SQL> select count(*) from t;--为263421
然后在节点2上备份:
disql SYSDBA/SYSDBA:5237 \`/dm/full_backup_database.sql
查看备份集:
SHOW BACKUPSETS WITH BACKUPDIR '/dm/backuppath/DB_dscdb_FULL_20220516_144132_226360';
3、故障模拟:
删除所有的数据文件,日志文件等。
[dmdba@dmdsc1 ~]$ /dm/dmdbms/bin/dmasmtool DCR_INI=/dm/data/config/dmdcr.ini
ASM>rm -rf DMDATA/*
ASM>rm -rf DMLOG
4、初始化DSC库
[dmdba@dmdsc1 config]$ /dm/dmdbms/bin/dminit control=/dm/data/config/dminit.ini
scp -r /dm/data/dsc2_config/ dmdba@10.2.1.32:/dm/data/
5、 还原数据库
[dmdba@dmdsc2 ~]$ dmrman DCR_INI=/dm/data/config/dmdcr.ini
dmrman V8
RMAN> check backupset '/dm/backuppath/DB_dscdb_FULL_20220516_144132_226360';--检查备份集完整性
RMAN> RESTORE DATABASE '/dm/data/dsc2_config/dm.ini' FROM BACKUPSET '/dm/backuppath/DB_dscdb_FULL_20220516_144132_226360';--未加OVERWRITE
6、恢复
RECOVER DATABASE '/dm/data/dsc2_config/dm.ini' WITH ARCHIVEDIR '+DMARCH/dscdb/arch_dsc1','+DMARCH/dscdb/arch_dsc2';
下边是recover过程:
7、更新
RECOVER DATABASE '/dm/data/dsc2_config/dm.ini' UPDATE DB_MAGIC;
8、开库验证OK:
ep startup GRP_DSC
9、因为恢复过来的库,没有开规档,还应重新开启规档!
更多学习内容参考:达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心 https://eco.dameng.com