如何还原归档?两个备份集中有重复归档文件如何处理?

【问题描述】

如何实现归档的备份还原及两个归档备份中有重复归档文件如何处理?

【问题原因】

该操作没有特定触发原因,属于归档备份还原过程中的常规操作需求;其中重复归档文件冲突的问题源于还原命令默认不允许覆盖目标目录中已存在的同名归档文件。

【问题解决】

归档备份的还原,仅支持 dmrman 工具进行还原,具体方法如下:

  1. 确认需要还原的归档备份集 bak_1228 和归档备份还原的路径 /dm/dsc/arch_restore
  2. 在达梦数据库安装目录的 bin 目录下进入 dmrman。
  3. 执行以下命令进行还原:
RMAN> RESTORE ARCHIVE LOG FROM BACKUPSET '/dm/dsc/arch_bak/bak_1228' to ARCHIVEDIR '/dm/dsc/arch_restore'
  1. 查看还原后的归档。

若两个备份集中存在部分相同的归档文件,直接执行还原命令会报错:[-8354]: 归档文件冲突,还原失败。此时,若想将两个备份集中的相同归档文件跳过,需要在还原命令后加入 OVERWRITE 1

例如:

RMAN> RESTORE ARCHIVE LOG FROM BACKUPSET '/dm/dsc/arch_bak/bak_1220' to ARCHIVEDIR '/dm/dsc/arch_restore'  OVERWRITE 1

在还原命令后加入 OVERWRITE 1 后备份集中的重复归档文件被跳过,且跳过的记录记载于 dmdbms/log/dm_BAKRES_年月.log 日志中。