达梦数据库的备份和还原-(2)脱机还原恢复篇

时间:2024-04-12 20:52:37

1.2脱机备份还原
1.2.1 使用系统命令备份数据文件方式备份的还原方式
1.确认数据库停止后把放在bak文件下的备份文件按照原来的目录路径拷贝,覆盖原来的目录。
达梦数据库的备份和还原-(2)脱机还原恢复篇

2.确认权限
达梦数据库的备份和还原-(2)脱机还原恢复篇

3.启动数据库
达梦数据库的备份和还原-(2)脱机还原恢复篇

注意:dm.ini文件中配置的目录一定要存在且权限正确;如果源库配置了归档,归档文件也要安装源库的路径存放;如果希望恢复到其他目录,则需要修改dm.ini文件中的目录,使用dmctlcvt命令将dm.ctl控制文件转换成文本文件,修改表空间的文件路径后再转换成控制文件。

1.2.2 启用DMRMAN进行还原恢复
由于同一个数据库进行多种备份功能实操会出现备份目录冲突操作,因此重新实例了一个数据库TEST进行DMRMAN备份还原恢复的实操。
达梦数据库的备份和还原-(2)脱机还原恢复篇

  1. 还原命令
    数据库的还原包括数据库配置文件还原和数据文件还原, 目前可能需要还原的数据库配置文件包括 dm.ini、dm.ctl、服务器秘钥文件 (dm_service.private或者dm_external.config,若备份库指定usbkey加密,则 无秘钥文件)、联机日志文件。
    RESTORE DATABASE ‘/home/dmdba/dmdbms/data/TEST/dm.ini’ FROM backupset ‘/home/dmdba/dmdbms/data/test_bak/testfull’
    达梦数据库的备份和还原-(2)脱机还原恢复篇

  2. 恢复命令
    RECOVER DATABASE ‘/home/dmdba/dmdbms/data/TEST/dm.ini’ FROM backupset ‘/home/dmdba/dmdbms/data/test_bak/testfull’
    达梦数据库的备份和还原-(2)脱机还原恢复篇

注意:如果此时启动数据库服务会报错:
Instance DMSERVICETEST startup failed, execute ‘recover database … update db_magic’ in dmrman.
达梦数据库的备份和还原-(2)脱机还原恢复篇

原因是DM8比DM7多出了一步更新db_magic的步骤,若不执行该步骤则会报以上错误,且无法直接启动数据库服务。
更新db_magic语法:
recover database ‘/home/dmdba/dmdbms/data/TEST/dm.ini’ update db_magic;
达梦数据库的备份和还原-(2)脱机还原恢复篇

更新完db_magic后即可启动数据库服务

1.2.3 控制台完成还原恢复
达梦数据库的备份和还原-(2)脱机还原恢复篇
达梦数据库的备份和还原-(2)脱机还原恢复篇

同样地,恢复完成后也要执行更新db_magic操作。