注册
达梦_物理备份与逻辑备份
专栏/培训园地/ 文章详情 /

达梦_物理备份与逻辑备份

良辰. 2026/09/16 114 0 0
摘要

达梦数据库的备份分为两大类:物理备份 和 逻辑备份。
物理备份:直接拷贝数据文件(.DBF,数据文件、控制文件、归档日志)。把整个文件夹压缩打包。恢复时直接覆盖回去,不关心表里具体是什么数据。
逻辑备份:将数据转换为SQL语句(INSERT/CREATE),恢复时重新执行这些SQL,不关心文件存在哪里。

物理备份:

基于数据库的物理文件(如数据文件 .DBF、控制文件、归档日志)进行拷贝和还原的。
这是保护整个数据库的“重型武器”,主要应对硬件故障、系统崩溃、数据文件损坏等让数据库无法启动或数据大面积丢失的灾难性问题。
核心场景

  • 灾难恢复:服务器磁盘损坏,导致整个数据库无法使用,需要用最近的物理全备和归档日志将数据库恢复到故障前的最后一刻。
  • TB级大库的快速恢复:对于数据量巨大的生产库,物理备份直接拷贝数据文件,恢复速度远快于逐条执行SQL的逻辑备份。
  • 精确的时间点恢复 (PITR):如果有人在今天下午3点误操作(如DROP了一张核心业务表),可以结合物理备份和归档日志,将数据库恢复到下午2点59分的状态,从而找回数据。
  • 数据库“挂了”或“全丢了”,找物理备份。

分类

联机备份和恢复(热备)
脱机备份和恢复(冷备)
完全备份和恢复
增量备份和恢复
差异备份和恢复
表空间级备份和恢复
表级备份和恢复(这里要特别注意,它虽然叫“表级”,但底层依然是对包含该表的物理数据文件块进行备份,是物理拷贝)
并行备份(多通道并发拷贝物理文件)

  • 联机备份和脱机备份最本质的区别是什么?
    联机备份:数据库正在读写,备份开始时数据文件处于不一致状态,必须依赖归档日志把不一致的数据“推”到一致。(备份之后进行的数据库操作没有被记录到备份文件里,所以需要归档日志配合)
    脱机备份:数据库已干净关闭,所有数据文件处于一致状态。

  • 完全备份、增量备份、差异备份,这三者是什么关系?
    完全备份 所有数据文件(备份文件范围为全库)
    增量备份 自上次任何类型备份以来变化的数据页
    差异备份 自上次完全备份以来变化的数据页
    全量备份 = 直接把数据文件恢复到某个时刻的快照

物理备份核心操作

① 备份 将数据文件拷贝到指定目录
联机(库运行时):BACKUP DATABASE FULL BACKUPSET '/路径';(SQL命令

  • 需开启归档模式

脱机(库停止后):./dmrman 中执行((指定 dm.ini 路径和备份集目录))
BACKUP DATABASE '/dm.ini路径' FULL BACKUPSET '/路径';

  • full 关键字可省略,默认即为全量备份

② 还原 将备份文件覆盖回原数据文件位置
必须脱机,使用 dmrman:
RESTORE DATABASE '/dm.ini路径' FROM BACKUPSET '/备份路径';
③ 恢复 应用归档日志,使数据一致性(相当于“重做日志”)
必须脱机,使用 dmrman:
RECOVER DATABASE '/dm.ini路径' FROM BACKUPSET '/备份路径';
然后 RECOVER DATABASE ... UPDATE DB_MAGIC;(更新数据库魔数,使库可正常启动)
注意联机备份时,归档日志必须开启(dmarch.ini 和 dm.ini里的ARCH_INI=1 就是为此准备)。

联机备份(SQL 命令)核心参数:

COMPRESSED LEVEL:压缩等级 0~9,0 不压缩,数字越高压缩比越大但速度越慢。推荐 1~5 平衡速度与空间。
TASK THREAD:备份数据处理线程数,控制并行读取与压缩,默认 4。
PARALLEL:并行备份并发数,默认 4。实际并行度 = TASK THREAD × PARALLEL,建议不超过 CPU 核心数的 2~4 倍。
MAXPIECESIZE:单个备份片文件大小上限(MB),最小 128MB。
LIMIT:限制备份读写速度(MB/S),默认为 0 表示不限制。
WITHOUT LOG:脱机备份时不备份联机日志,后续还原需配合归档日志目录使用。

脱机备份(dmrman)核心参数:

WITH BACKUPDIR:增量备份时指定基备份的搜索目录。
BASE ON BACKUPSET:增量备份时直接指定基备份集路径。
BACKUPSET:指定当前备份集的生成路径。
DEVICE TYPE:介质类型,支持 DISK 和 TAPE,默认为 DISK。
BACKUPINFO:为备份集添加描述信息。
IDENTIFIED BY:指定备份加密密码;配合 WITH ENCRYPTION 指定加密类型(1 简单加密 / 2 完全加密)。

备份类型关键字:

FULL:完全备份,拷贝 CKPT_LSN 之前所有数据页及区间内 REDO 日志。
INCREMENT:增量备份,仅拷贝自上次基备份后变更的数据页。

注意:
RESTORE 只是把备份文件拷贝回数据目录,但此时数据文件可能和当前日志不一致(因为备份后可能还有其他操作)。
必须执行 RECOVER 应用归档日志,才能把数据“推进”到一致状态,最后再 UPDATE DB_MAGIC 才能正常启动。

逻辑备份:

通过达梦的 dexp/dimp 工具,将数据库对象(表、视图、存储 过程等)转换成 SQL 语句或逻辑数据格式进行导出和导入。
它更灵活,主要用于处理数据迁移、特定对象恢复、开发测试环境搭建等精细化操作。
核心场景

  • 跨平台或跨版本迁移:例如,需要将数据库从Linux服务器迁移到Windows服务器,或进行大版本升级。物理备份通常不兼容,而逻辑备份导出的SQL脚本则没有这个问题。
  • 恢复“只有一张表被误删”的数据:生产库中,某张配置表或业务表被人误删了。相比用物理备份恢复整个数据库(耗时且影响其他业务),从逻辑备份中单独dimp这张表进来会快得多,影响也小。
  • 向测试环境同步部分数据:开发或测试人员只需要生产库中的几张表做验证,使用逻辑备份可以按需导出指定表或指定模式的数据。
  • 只想“捞”某一两个用户或表的数据,或要搬到别的平台去,找逻辑备份。

分类

库级导出导入
模式级导出导入
用户级导出导入
表级导出导入

逻辑备份详细操作

达梦的逻辑备份使用 dexp(导出)和 dimp(导入)工具,不需要关闭数据库,也不需要归档日志。
操作 命令示例(在 bin 目录下执行) 说明
导出整个库 ./dexp SYSDBA/SYSDBA#123a FILE=full.dmp LOG=full.log FULL=Y 导出所有对象
导出指定模式 ./dexp SYSDBA/SYSDBA#123a FILE=schema.dmp LOG=schema.log SCHEMAS=DMHR 只导出 DMHR 模式
导出指定表 ./dexp SYSDBA/SYSDBA#123a FILE=table.dmp LOG=table.log TABLES=RCT_BFHF_LJ 只导出这一张表
导入(全库) ./dimp SYSDBA/SYSDBA#123a FILE=full.dmp LOG=imp.log FULL=Y 导入前如果表存在会报错,可加 IGNORE=Y 跳过
导入指定表 ./dimp SYSDBA/SYSDBA#123a FILE=table.dmp LOG=imp.log TABLES=RCT_BFHF_LJ 只导入这一张表

核心参数说明:

FILE:指定导出或导入的 .dmp 文件名。
DIRECTORY:指定文件存放目录,便于统一管理备份路径。
LOG:指定日志文件名,记录导出/导入过程。
FULL(粒度选择参数):设为 Y 时执行全库导出/导入。
OWNER(粒度选择参数):按用户导出/导入,可指定多个用户,逗号分隔。
SCHEMAS(粒度选择参数):按模式导出/导入,可指定多个模式。
TABLES(粒度选择参数):按表导出/导入,格式为 模式名.表名,可指定多张表。

  • 导出的 .dmp 文件可以在不同操作系统、不同达梦版本之间迁移。
  • 恢复时库必须在线,不需要停止服务。
  • 适合迁移少量数据

联机备份图形化操作:
导出整个库
image.png
填写导出目录,导出文件名和日志文件名
image.png
导出指定模式
选中要导出的模式,右键选择导出
image.png
填写导出目录,导出文件名和日志文件名
image.png
导出指定表
选中要导出的表,右键选择导出
image.png
填写导出目录,导出文件名和日志文件名
image.png

导入模式
右击数据库选择导入
image.png
选择导入的文件路径
image.png
修改模式映射
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服