DMRMAN 简介
DMRMAN(DM RECOVERY MANAGER)是 DM 的脱机备份还原管理工具。
- 需要注意
- DmAPService服务是正常运行的。
- 在/dm/dmdbs/bin目录下执行dmrman命令。
- 备份的实例发须是关闭状态。
看到只能离线备份突然感觉 DMRMAN 就不香了,我以为会对标Oracle 的Rman
数据库备份&恢复
- 注意
OPEN 状态支持备份、还原和恢复的操作;
MOUNT 状态支持归档备份;
SUPEND 状态均不支持。
1、备份数据库
- 查看数据:
- 开启归档
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST = /home/dmdba/dm8/data/DAMENG/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 2048';
操作已执行
已用时间: 1.428(毫秒). 执行号:0.
SQL> ALTER DATABASE ARCHIVELOG;
操作已执行
已用时间: 0.279(毫秒). 执行号:0.
SQL> ALTER DATABASE OPEN;
操作已执行
已用时间: 18.170(毫秒). 执行号:0.
SQL> select arch_mode from v$database;
行号 ARCH_MODE
---------- ---------
1 Y
已用时间: 1.531(毫秒). 执行号:902.
- 开始备库
SQL> BACKUP DATABASE BACKUPSET 'db_bak' ;
BACKUP DATABASE BACKUPSET 'db_bak' ;
[-718]:收集到的归档日志不连续.
已用时间: 59.266(毫秒). 执行号:0.
-- 报错解决:手动刷新检查点:
SQL> checkpoint(100);
DMSQL 过程已成功完成
已用时间: 4.503(毫秒). 执行号:900.
SQL> BACKUP DATABASE BACKUPSET 'db_bak' ;
BACKUP DATABASE BACKUPSET 'db_bak' ;
[-7170]:bakres连接DMAP失败.
已用时间: 50.017(毫秒). 执行号:0.
-- 手动启动dmap进程
[dmdba@localhost ~]$ dmap &
[1] 15465
-- 完成备份
SQL> BACKUP DATABASE BACKUPSET 'db_bak' ;
操作已执行
已用时间: 00:00:03.009. 执行号:1001.
- 备份归档
SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01';
操作已执行
已用时间: 00:00:02.971. 执行号:1100.
- 查看备份文件
2、破坏数据库
从配置文件 :dm.ctl 获取控制文件路径,然后删除控制文件中的数据文件
[dmdba@localhost DAMENG]$ cat dm.ini | grep dm.ctl
#file location of dm.ctl
CTL_PATH = /home/dmdba/dm8/data/DAMENG/dm.ctl #ctl file path
CTL_BAK_PATH = /home/dmdba/dm8/data/DAMENG/ctl_bak #dm.ctl backup path
CTL_BAK_NUM = 10 #backup number of dm.ctl, allowed to keep one more backup file besides specified number.
rm -rf /home/dmdba/dm8/data/DAMENG/SYSTEM.DBF rm -rf /home/dmdba/dm8/data/DAMENG/ROLL.DBF rm -rf /home/dmdba/dm8/data/DAMENG/DAMENG01.log rm -rf /home/dmdba/dm8/data/DAMENG/DAMENG02.log rm -rf /home/dmdba/dm8/data/DAMENG/MAIN.DBF rm -rf /home/dmdba/dm8/data/DAMENG/HMAIN rm -rf /home/dmdba/dm8/data/DAMENG/BOOKSHOP.DBF rm -rf /home/dmdba/dm8/data/DAMENG/DMHR.DBF
- 启动报错
3、DMRMAN 恢复
- 还原数据库
RMAN>RESTORE DATABASE '/home/dmdba/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dm8/data/DAMENG/bak/db_bak';
- 恢复数据库
RMAN>RECOVERDATABASE '/home/dmdba/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dm8/data/DAMENG/bak/db_bak';
- 更新数据库
RMAN>RECOVER DATABASE '/home/dmdba/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
- 操作示例
4、启库并查数据:
[dmdba@localhost ~]$ /home/dmdba/dm8/bin/dmserver path=/home/dmdba/dm8/data/DAMENG/dm.ini &
- 查询数据
至此备份及数据库恢复操作完成。
总结
DM 的 DMRMAN 唯一的缺点就是只能离线备份,必须结合BACKUP 命令来完成DM的在线备份和恢复。
最后修改时间:2023-12-26 23:40:07
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。