达梦数据库命令行备份还原指北
1. 使用 dexp
进行逻辑备份
dexp
(Data Export)是达梦数据库的逻辑备份工具,支持全库、按用户、按表等方式备份。
(1) 全库备份
./dexp SYSDBA/SYSDBA@127.0.0.1:5236 FILE=full_backup.dmp LOG=full_backup.log FULL=Y
SYSDBA/SYSDBA
:用户名/密码127.0.0.1:5236
:数据库地址和端口FILE
:备份文件路径LOG
:日志文件路径FULL=Y
:全库备份
(2) 按用户备份
./dexp USER1/password@localhost:5236 OWNER=USER1 FILE=user1_backup.dmp LOG=user1_backup.log
OWNER=USER1
:仅备份USER1
用户的数据
(3) 按表备份
./dexp SYSDBA/SYSDBA@127.0.0.1:5236 TABLES=(EMP,DEPT) FILE=tables_backup.dmp LOG=tables_backup.log
(4) 增量备份(仅导出数据变化)
./dexp SYSDBA/SYSDBA@127.0.0.1:5236 FILE=incr_backup.dmp LOG=incr_backup.log QUERY="WHERE update_time > SYSDATE-1"
QUERY="WHERE ..."
:仅备份最近一天更新的数据
(5) 按模式备份
# 单模式
./dexp USERNAME/PASSWORD@IP:PORT SCHEMAS=模式名 FILE=模式备份.dmp LOG=模式备份.log
# 多模式
./dexp SYSDBA/SYSDBA@127.0.0.1:5236 SCHEMAS=(HR,ACCOUNTING) FILE=multi_schema.dmp LOG=multi_schema.log
2. 使用 dimp
进行数据恢复
(1) 全库恢复
./dimp SYSDBA/SYSDBA@127.0.0.1:5236 FILE=full_backup.dmp LOG=imp_full.log FULL=Y
(2) 按用户恢复
./dimp USER1/password@localhost:5236 OWNER=USER1 FILE=user1_backup.dmp LOG=imp_user1.log
(3) 按表恢复
./dimp SYSDBA/SYSDBA@127.0.0.1:5236 TABLES=(EMP,DEPT) FILE=tables_backup.dmp LOG=imp_tables.log
(4) 仅恢复表结构(不导入数据)
./dimp SYSDBA/SYSDBA@127.0.0.1:5236 FILE=full_backup.dmp LOG=imp_schema.log FULL=Y TABLE_EXISTS_ACTION=SKIP
TABLE_EXISTS_ACTION=SKIP
:如果表已存在,则跳过
总结
操作 | 命令 | 说明 |
---|---|---|
全库备份 | dexp ... FULL=Y | 导出整个数据库 |
按用户备份 | dexp ... OWNER=USER1 | 仅备份某个用户的数据 |
按表备份 | dexp ... TABLES=(T1,T2) | 仅备份指定表 |
全库恢复 | dimp ... FULL=Y | 从 .dmp 文件恢复全库 |
按用户恢复 | dimp ... OWNER=USER1 | 恢复某个用户的数据 |
按表恢复 | dimp ... TABLES=(T1,T2) | 仅恢复指定表 |
TABLE_EXISTS_ACTION 模式
REPLACE | 删除表并重建 | 需要完全覆盖表结构和数据 |
---|---|---|
TRUNCATE | 清空表数据再导入 | 保留表结构,仅刷新数据 |
APPEND | 仅追加数据 | 增量导入,不删除旧数据 |
SKIP | 跳过已存在的表 | 部分恢复,避免重复导入 |

0 评论