DM8 物理备份还原完整入门教程(disql+DMRMAN 实操) 前言本文讲解物理备份覆盖核心概念、归档配置、联机 disql 备份、脱机 DMRMAN 备份还原。 DM8 物理备份是直接拷贝数据库有效数据页分为联机备份库运行disql 执行 SQL、脱机备份库关闭DMRMAN 工具备份载体叫备份集包含.meta 元数据文件 .bak 备份片。核心依赖归档日志无归档无法执行联机库 / 表空间备份支持时间点、LSN 精准恢复是生产环境核心容灾手段。一、备份还原基础核心概念1.1 核心存储组件表空间DM 内置 SYSTEM、ROLL、RLOG、MAIN、TEMP 五大系统表空间TEMP 不支持物理备份业务自建用户表空间用于存放业务数据。重做日志REDO记录所有 DML/DDL 数据修改循环写入联机.log 日志文件故障重启靠重做日志恢复内存脏页。归档日志联机日志写满后归档生成离线文件永久保存是时间点恢复的唯一依赖分为 LOCAL 本地归档、REMOTE 远程归档DSC 集群专用。1.2 关键标识概念LSN全局唯一递增物理事务编号每一次数据修改分配独立 LSNCKPT_LSN 代表已落盘数据页边界故障只需重做 CKPT_LSN 之后日志。备份集单次备份生成的目录由元数据.meta、数据备份片.bak 组成支持压缩、加密、多文件拆分。1.3 备份分类标准按运行状态联机OPEN 库disql 执行、脱机库关闭DMRMAN 执行按备份范围库备份、表空间备份、单表备份、归档备份按完整度完全备份、增量备份差异 / 累积增量恢复两步流程还原拷贝备份数据至库文件 恢复重做归档日志至一致性状态表备份无需恢复二、前置准备归档配置所有联机备份前提2.1 归档开启dm.ini 参数ARCH_INI1配套 dmarch.ini 归档配置文件未开启归档无法执行库、表空间联机备份仅单表备份不受限制。2.2 联机 SQL 配置归档-- 切换至MOUNT模式才能修改归档 ALTER DATABASE MOUNT; ALTER DATABASE NORMAL; -- 开启归档模式 ALTER DATABASE ARCHIVELOG; -- 添加本地归档 ALTER DATABASE ADD ARCHIVELOG DEST/dm_arch,TYPELOCAL,FILE_SIZE1024,SPACE_LIMIT0; -- 切回业务运行状态 ALTER DATABASE OPEN;2.3 手动文件配置归档编辑 dm.ini修改ARCH_INI 1同目录新建 dmarch.ini[ARCH_LOCAL1] ARCH_TYPELOCAL ARCH_DEST/dm_arch ARCH_FILE_SIZE1024 ARCH_SPACE_LIMIT0 ARCH_HANG_FLAG1启动数据库实例数据库已运行于归档模式。三、disql 联机备份实操disql 是达梦交互式客户端库处于 OPEN 状态执行备份支持库、表空间、单表、归档四类备份。3.1 数据库级联机备份语法基础BACKUP DATABASE [FULL/INCREMENT] BACKUPSET 备份路径3.1 完全备份BACKUP DATABASE FULL BACKUPSET /dm_bak/db_full_202606 COMPRESSED LEVEL 3 PARALLEL 4 BACKUPINFO 六月全量库备份;关键参数说明COMPRESSED LEVEL0~9 压缩等级数字越高压缩越强、CPU 消耗越大PARALLEL并行备份提升大库备份速度BACKUPINFO自定义备份备注方便后期识别3.2 差异增量备份基于最近任意备份BACKUP DATABASE INCREMENT BACKUPSET /dm_bak/db_inc_20260629 WITH BACKUPDIR /dm_bak;WITH BACKUPDIR 指定基备份搜索目录自动寻找最近全量 / 增量作为基准。3.3 累积增量仅基于完全备份BACKUP DATABASE INCREMENT CUMULATIVE BACKUPSET /dm_bak/db_cum_0629;3.2 表空间联机备份仅备份指定表速度更快适合核心业务表单独保护支持增量-- MAIN表空间完全备份 BACKUP TABLESPACE MAIN FULL BACKUPSET /dm_bak/ts_main_0629;3.3 单表备份无需开启归档仅备份指定业务表跨库恢复需保证建库参数一致页大小、字符集等-- 普通表备份 BACKUP TABLE USER_INFO BACKUPSET /dm_bak/tab_user; -- 仅备份表结构后续还原只重建表 BACKUP TABLE USER_INFO STRUCT BACKUPSET /dm_bak/tab_struct;表还原仅联机支持无需恢复步骤RESTORE TABLE USER_INFO FROM BACKUPSET /dm_bak/tab_user; -- 还原不重建索引 RESTORE TABLE USER_INFO WITHOUT INDEX FROM BACKUPSET /dm_bak/tab_user;3.4 归档日志备份单独备份归档文件用于归档长期留存、跨机房日志迁移BACKUP ARCHIVE LOG ALL BACKUPSET /dm_bak/arch_bak_06; -- 指定时间区间归档备份 BACKUP ARCHIVE LOG TIME BETWEEN 2026-06-01 AND 2026-06-29 BACKUPSET /dm_bak/arch_june;3.5 备份集基础管理disql 查询添加备份目录至检索列表查看备份信息SELECT SF_BAKSET_BACKUP_DIR_ADD(DISK,/dm_bak); -- 查看所有备份集基础信息 SELECT BACKUP_PATH,TYPE,BACKUP_TIME FROM V$BACKUPSET; -- 校验备份集完整性 SELECT SF_BAKSET_CHECK(DISK,/dm_bak/db_full_202606); -- 删除过期备份 SELECT SF_BAKSET_REMOVE_BATCH(DISK,NOW(),1,NULL);四、DMRMAN 脱机备份还原数据库关闭执行DMRMAN 是达梦脱机专用工具存放于/dmdbms/bin库停止后执行全库备份、完整还原恢复适合机房停机维护、整机故障重建。4.1 DMRMAN 启动方式# 交互式进入RMAN控制台 ./dmrman # 直接执行单条命令后退出 ./dmrman CTLSTMTBACKUP DATABASE /dmdata/DAMENG/dm.ini BACKUPSET /dm_bak/off_full # 执行脚本文件 ./dmrman CTLFILE/home/rman_cmd.txt4.2 脱机库完全备份RMAN BACKUP DATABASE /dmdata/DAMENG/dm.ini FULL BACKUPSET /dm_bak/offline_full COMPRESSED LEVEL 2 PARALLEL 3;4.3 脱机增量备份RMAN BACKUP DATABASE /dmdata/DAMENG/dm.ini INCREMENT BACKUPSET /dm_bak/off_inc WITH BACKUPDIR /dm_bak;4.4 完整脱机还原 恢复故障重建核心流程还原 拷贝备份数据恢复 重做归档至一致状态两步缺一不可# 1. 执行数据还原 RESTORE DATABASE /dmdata/DAMENG/dm.ini FROM BACKUPSET /dm_bak/offline_full; # 2. 重做归档日志恢复至一致性 RECOVER DATABASE /dmdata/DAMENG WITH ARCHIVEDIR/dm_arch; # 3. 可选恢复至指定时间点 RECOVER DATABASE /dmdata/DAMENG WITH ARCHIVEDIR/dm_arch UNTIL TIME 2026-06-28 23:59:00;4.5 脱机归档备份BACKUP ARCHIVE LOG DATABASE /dmdata/DAMENG/dm.ini BACKUPSET /dm_bak/off_arch;五、加密与压缩备份通用配置线上数据建议开启加密压缩所有备份语句通用参数压缩配置COMPRESSED LEVEL 1~9加密配置IDENTIFIED BY 密码-- disql加密库备份示例 BACKUP DATABASE FULL BACKUPSET /dm_bak/encrypt_bak IDENTIFIED BY Dm2026 ENCRYPT WITH RC4 COMPRESSED LEVEL 3;加密备份还原必须填写相同密码否则报错无法读取备份集。六、新手实操避坑要点TEMP 表空间不参与任何物理备份无需操作联机库 / 表空间备份必须开启本地归档仅单表备份无归档限制备份集路径禁止中文、空格避免解析异常库、表空间还原只能 DMRMAN 脱机执行仅表支持 disql 联机还原归档磁盘满会触发数据库挂起定时归档备份并清理过期归档七、总结本文基于 DM8 备份还原手册整理区分 disql 联机、DMRMAN 脱机两套备份方案覆盖库、表空间、单表、归档四类备份场景包含全量 / 增量、加密压缩、时间点恢复实操命令。物理备份是达梦核心容灾手段日常运维必备每周可以设定定时备份作业。

本月热点