我们平时经常通过任务形式将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的恢复和还原必须是普通用户。

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: