注册
DM8单机全库备份异机还原
技术分享/ 文章详情 /

DM8单机全库备份异机还原

好好先生 2025/11/07 173 0 0

在DM8数据库中,针对不同的备份对象,一个完整的备份还原过程包含的步骤不同。下面分别进行介绍:

  • 库备份与还原包括:备份—还原—恢复。此处恢复又细分为恢复一致性、更新 DB_MAGIC 两步;
  • 表空间备份与还原包括:备份—还原—恢复。此处恢复只包括恢复一致性这一步;
  • 表备份与还原包括:备份—还原;
  • 归档备份与还原包括:备份—还原。

上述有的步骤既可以在联机状态下执行,又可以在脱机状态下执行。用户可根据实际需要选择联机或脱机执行,任选一种即可。下表中列出了不同的状态下所支持的操作。

image.png

环境准备

源主机 目标主机
操作系统 Kylin Linux Advanced Server<br/>release V10 (SP1) /(Tercel)-x86_64-Build20/20210518 Kylin Linux Advanced Server<br/>release V10 (SP1) /(Tercel)-x86_64-Build20/20210518
数据库版本 DB Version: 0x7000d DB Version: 0x7000d
IP 192.168.236.21 192.168.236.23
归档模式 归档 归档

本次使用Disql工具进行备份还原操作。

源库新建测试数据

image.png
image.png

源库全库备份

备份会生成一个备份集目录,目录中根据备份内容的多少会产生多个文件

需要确保备份路径下有足够的空间

backup database backupset '/dm8/backup/DM_FULL_BAK';

image.png

备份完成会在指定位置生成备份集目录DM_FULL_BAK和对应的备份文件。

image.png
如果库比较大,可以开并行,参考备份还原实战 | 达梦技术文档

备份时间比较长,可以在dm_BAKRES_XXX.log日志查看备份状态和进度

备份还原日志信息格式为:

时间 + 日志类型(INFO/WARN/ERROR/FATAL/CMD/CMD_PARSE)+ 进程名(dmrman/database/dmap_br)+ 进程 ID(P 开头)+ 线程 ID(T 开头)+ 任务 ID(TID 开头的随机数,唯一标识备份还原任务,每个任务 ID 对应于一条备份还原语句)+ 日志内容。

image.png

将备份文件传输至异机

源主机传输备份文件到目标主机

image.png

将备份文件通过scp等方式传输至目标主机的指定目录下,如**/dm8/backup/DM_FULL**下,目录不要求和源库的备份目录也一致。

注意:

使用有权限的用户进行scp

目标主机修改备份文件属组

image.png!

目标主机用DMRMAN进行备份集有效性校验

image.png

异机恢复

恢复需要在关机状态下进行,使用DMRMAN工具进行恢复

关闭目标主机数据库

image.png

使用DMRMAN进行还原恢复

还原

restore database '目标库dm.ini配置文件路径' from backupset '备份文件目录';

image.png

恢复

recover database '目标库dm.ini配置文件路径' from backupset '备份文件目录';

image.png
更新数据库魔术db_magic

recover database '目标库dm.ini配置文件路径' update db_magic;

image.png

开启目标库

image.png

验证数据

image.png

利用归档还原

利用归档进行还原需要将所需要时段的归档日志进行保存,避免归档日志被覆盖。

还原至最新时刻

RMAN>restore database '/data/swap/dm.ini' from backupset '/tmp/DM_FULL_BAK_2022_10_18'; RMAN>recover database '/data/swap/dm.ini' with archivedir '归档日志所在目录' ; RMAN>recover database '/ data/swap/dm.ini' update db_magic;

还原至中间目标时刻

RMAN>restore database '/data/swap/dm.ini' from backupset '/tmp/DM_FULL_BAK_2022_10_18'; RMAN>recove database '/data/swap/dm.ini' with archivedir '归档日志所在目录' until time '2022-10-18 10:30:00' ; RMAN>recover database '/ data/swap/dm.ini' update db_magic;

还原至指定LSN

RMAN>restore database '/data/swap/dm.ini' from backupset '/tmp/DM_FULL_BAK_2022_10_18'; RMAN>recover database '/data/swap/dm.ini' with archivedir '归档日志所在目录' until lsn 需要还原到的lsn号; RMAN>recover database '/ data/swap/dm.ini' update db_magic;
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服