数据库备份与还原的核心意义在于:通过 “未雨绸缪” 的备份策略,为数据构建多道安全防线;通过 “快速响应” 的还原能力,在风险发生时将损失降到最低。它不仅是技术层面的数据保护手段,更是企业业务连续性规划、合规管理和风险管理的核心组成部分。对于达梦数据库这类国产数据库而言,结合其自身的备份工具(如dmrman
)和特性(如联机备份、增量备份),制定合理的备份与还原策略,能进一步提升数据安全保障能力。
在达梦数据库(DM Database)中选择合适的备份策略需综合考虑业务需求、恢复目标、数据量、停机窗口、存储成本和技术能力。所以具体包含的两种方式物理备份、逻辑备份我们需要进行比对。
原理:直接拷贝数据库的物理文件(数据文件、控制文件、重做日志、归档日志等),属于块级(Block-Level)复制,直接备份底层数据文件,不需要解析 SQL 语句和逻辑结构。
核心工具:dmrman
(命令行工具)、SQL语句
、图形化管理工具(DEM)。
类型 | 命令示例 | 特 |
---|---|---|
全量备份 | BACKUP DATABASE FULL TO ‘full_bak’; | 备份整个数据库的所有数据文件 |
增量备份 | BACKUP DATABASE INCREMENT WITH BACKUPDIR ‘full_bak’; | 仅备份自上次备份后修改的数据块 |
表空间备份 | BACKUP TABLESPACE MAIN TO ‘ts_bak’; | 备份单个表空间(如MAIN、ROLL等) |
归档备份 | BACKUP ARCHIVELOG ALL; | 备份所有归档日志(用于时间点恢复) |
首先注意需要开启归档模式
# 1. 开启归档模式(必需!)
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmarch, TYPE=LOCAL, FILE_SIZE=1024';
# 2. 全量备份
dmrman CTLSTMT="BACKUP DATABASE FULL TO BACKUPSET '/bak/full_bak'";
# 3. 增量备份(基于全量)
dmrman CTLSTMT="BACKUP DATABASE INCREMENT BASE ON BACKUPSET '/bak/full_bak' TO INCR_BAK'";
# 4. 恢复数据库
# 前面的是你要在哪个数据库上恢复备份,后面的是之前备份的文件
dmrman CTLSTMT="RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/bak/full_bak'";
dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DAMENG/dm.ini' WITH ARCHIVEDIR '/dmarch'";
dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC";
生产核心系统、TB级大库、要求RTO分钟级恢复、容灾高可用架构。
原理:将数据库对象(表、视图、存储过程)转换为SQL语句或数据格式,通过导出/导入工具实现备份。
核心工具:dexp
(逻辑导出)、dimp
(逻辑导入)。
导出级别 | 命令示例 | 说明 |
---|---|---|
全库 | dexp USERID=SYSDBA/DAMENG123 FULL=Y DIRECTORY=/bak | 导出整个数据库 |
按用户 | dexp USERID=SYSDBA/DAMENG123 OWNER=USER1 DIRECTORY=/bak | 导出指定用户的所有对象 |
按表 | dexp USERID=SYSDBA/DAMENG123 TABLES=EMP,DEPT DIRECTORY=/bak | 导出指定表 |
按查询 | dexp USERID=SYSDBA/DAMENG123 QUERY=‘WHERE sal>5000’ TABLES=EMP | 按条件导出表数据 |
# 1. 全库导出(dexp)
dexp SYSDBA/DAMENG123@localhost:5236 FILE=full_exp.dmp LOG=exp.log FULL=Y
# 2. 单表导入(dimp)
dimp SYSDBA/DAMENG123@localhost:5236 FILE=full_exp.dmp LOG=imp.log TABLES=EMP
# 3. 跨平台迁移(示例:Linux→Windows)
dexp ... # Linux导出
dimp ... # Windows导入(无需修改文件格式)
开发测试环境数据迁移、小表快速恢复、跨平台迁移、数据格式转换(如Oracle→DM)。
特性 | 物理备份 | 逻辑备份 |
---|---|---|
备份内容 | 数据文件+日志+控制文件 | SQL语句+表数据 |
速度 | 快(TB级小时完成) | 慢(大表可能数小时) |
恢复粒度 | 库/表空间/表 | 库/用户/表/行 |
跨平台恢复 | 不支持 | 支持 |
增量备份 | * 支持* | 不支持 |
时间点恢复 | 支持(需归档) | 不支持 |
业务影响 | 热备份(零影响) | 可能锁表(阻塞DML) |
典型工具 | dmrman , SQL |
dexp/dimp |

可以根据上述的决策树来进行选择,但具体的生产环境肯定还需要考虑多种因素。
所以对于在生产环境中可以使用:物理备份(全量+增量+归档) + 定期逻辑备份关键表。
文章
阅读量
获赞