暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

达梦篇-DM8之备份与恢复实操

原创 布衣 2023-12-24
2258

DMRMAN 简介

DMRMAN(DM RECOVERY MANAGER)是 DM 的脱机备份还原管理工具。

  • 需要注意
  1. DmAPService服务是正常运行的。
  2. 在/dm/dmdbs/bin目录下执行dmrman命令。
  3. 备份的实例发须是关闭状态。

  看到只能离线备份突然感觉 DMRMAN 就不香了,我以为会对标Oracle 的Rman

数据库备份&恢复

  • 注意
    OPEN 状态支持备份、还原和恢复的操作;
    MOUNT 状态支持归档备份;
    SUPEND 状态均不支持。

1、备份数据库

  • 查看数据:
    image.png
  • 开启归档
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.
  • 查看备份文件
    image.png

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.

image.png

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
  • 启动报错
    image.png

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;
  • 操作示例
    image.png

4、启库并查数据:

[dmdba@localhost ~]$ /home/dmdba/dm8/bin/dmserver path=/home/dmdba/dm8/data/DAMENG/dm.ini &

image.png

  • 查询数据
    image.png
    至此备份及数据库恢复操作完成。

总结

  DM 的 DMRMAN 唯一的缺点就是只能离线备份,必须结合BACKUP 命令来完成DM的在线备份和恢复。

最后修改时间:2023-12-26 23:40:07
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
Z
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论