我们平时经常通过任务形式将dm的库定期做备份及日志归档,对已经备份的bak文件如何恢复和还原,以下操作将实现备份数据的恢复和还原。
1、我的原备份目录在:/opt/back_file 路径下
2、停掉达梦服务
查看达梦运行的实例:ps -ef|grep dm
停掉实例:
3、通过dmrman工具来实现数据的恢复和还原,在达梦数据库安装路径下执行dmrman工具命令
/home/dmdba/dmdbms/bin
4、执行恢复命令操作:
①检测备份文件是否正确
check backupset '/opt/back_file/DB_DAMENG_FULL_2023_10_11_00_00_09';
这里的错误需要提醒一下,不能用root方式来登录做数据恢复,必须用普通用户,我这里设置的是dmdba用户。执行正确操作如下:
②检测完成后,执行恢复命令操作:dm.ini的全路径和bak文件的相对路径
restore database '/home/dmdba/dmdata/DAMENG/dm.ini' from backupset '/opt/back_file/DB_DAMENG_FULL_2023_10_11_00_00_09';
③执行覆盖操作:
recover database '/home/dmdba/dmdata/DAMENG/dm.ini' from backupset '/opt/back_file/DB_DAMENG_FULL_2023_10_11_00_00_09';
④如果你的达梦版本是dm8,必须还得执行更新db_magic的操作
recover database '/home/dmdba/dmdata/DAMENG/dm.ini' update db_magic;
5、退出dmrman工具,启动达梦数据库实例服务
服务启动成功后,祝贺你,备份数据已经还原成功。
报错总结:
1、如果在执行备份恢复的命令时,如果出现以下报错:
os_file_open_norman_rw error: ‘/home/dmdba/dmdbms/log/dmmonitor_20201214170659.log’,是因为没有给log文件授权执行用户,必须是普通用户拥有
2、执行bak的恢复和还原必须是普通用户。
好文链接
发表评论