在DM8数据库中,针对不同的备份对象,一个完整的备份还原过程包含的步骤不同。下面分别进行介绍:
上述有的步骤既可以在联机状态下执行,又可以在脱机状态下执行。用户可根据实际需要选择联机或脱机执行,任选一种即可。下表中列出了不同的状态下所支持的操作。
环境准备
| 源主机 | 目标主机 | |
|---|---|---|
| 操作系统 | 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工具进行备份还原操作。
备份会生成一个备份集目录,目录中根据备份内容的多少会产生多个文件
需要确保备份路径下有足够的空间
backup database backupset '/dm8/backup/DM_FULL_BAK';
备份完成会在指定位置生成备份集目录DM_FULL_BAK和对应的备份文件。
如果库比较大,可以开并行,参考备份还原实战 | 达梦技术文档
备份时间比较长,可以在dm_BAKRES_XXX.log日志查看备份状态和进度
备份还原日志信息格式为:
时间 + 日志类型(INFO/WARN/ERROR/FATAL/CMD/CMD_PARSE)+ 进程名(dmrman/database/dmap_br)+ 进程 ID(P 开头)+ 线程 ID(T 开头)+ 任务 ID(TID 开头的随机数,唯一标识备份还原任务,每个任务 ID 对应于一条备份还原语句)+ 日志内容。
将备份文件通过scp等方式传输至目标主机的指定目录下,如**/dm8/backup/DM_FULL**下,目录不要求和源库的备份目录也一致。
注意:
使用有权限的用户进行scp
!
恢复需要在关机状态下进行,使用DMRMAN工具进行恢复
还原
restore database '目标库dm.ini配置文件路径' from backupset '备份文件目录';
恢复
recover database '目标库dm.ini配置文件路径' from backupset '备份文件目录';
更新数据库魔术db_magic
recover database '目标库dm.ini配置文件路径' update db_magic;
利用归档进行还原需要将所需要时段的归档日志进行保存,避免归档日志被覆盖。
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;
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;
文章
阅读量
获赞
