暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦备份与还原规范操作

IT那活儿 2025-08-13
311
点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


物理备份

1.1 联机备份
disql工具或图形化管理工具 SQL 编辑区中使用联机备份语句。
使用disql工具可以直接命令行中使用dm脚本:
dm login
最基础的命令:
backupdatabase
备份时不加任何参数的话,会在达梦数据库dm.ini配置文件中的BAK_PATH参数指定的备份目录下备份,备份名为DB_数据库名_FULL_时间‘。
附常用备份命令例子:
  • BACKUP DATABASE BACKUPSET ‘/data/dmbak/bak_full_20220322’;

    指定备份集路径进行全备。

  • BACKUP DATABASE BACKUPSET ‘/data/dmbak/test_full_1’ COMPRESSED LEVEL 5;

    指定压缩级别进行全备(若指定COMPRESSED,但未指定LEVEL,则默认1;若未指定COMPRESSED参数,则不会进行压缩;且压缩等级越高,速度越慢,但是备份文件会更小)。

  • BACKUP DATABASE BACKUPSET ‘/data/dmbak/test_full_2’ PARALLEL 8;

    指定并行数进行全备(指定了PARALLEL参数,但不指定并行数则默认为4)。

  • BACKUP DATABASE INCREMENT WITH BACKUPDIR ‘/data/dmbak/test_full_2’ BACKUPSET ‘/data/dmbak/test_inc_1’;

    指定基备份进行增备 (若不指定,会在默认备份目录下搜索基备份)。

1.2 脱机备份
dmrman工具使用脱机备份语句:
cd /opt/dmdbms/bin
./dmrman

全库:
BACKUP  DATABASE  '/data/dmdata/DAMENG/dm.ini '  FULL  BACKUPSET '/data/dmbak/db_full_bak_01';
增量:
BACKUPDATABASE'/data/dmdata/DAMENG/dm.ini 'INCREMENTWITH BACKUPDIR '/data/dmbak/' BACKUPSET '/data/dmbak/db_increment_bak_02';
1.3 还原恢复
cd /opt/dmdbms/bin
./dmrman

还原:
RESTOREDATABASE'/data/dmdata/DAMENG/dm.ini'FROM
BACKUPSET '/data/dmbak/db_full_bak_for_restore';

恢复:
RECOVER DATABASE '/data/dmdata/DAMENG/dm.ini ' FROM BACKUPSET '/data/dmbak/db_full_bak_for_restore ';
更新魔数:
RECOVER DATABASE '/data/dmdata/DAMENG/dm.ini ' UPDATE DB_MAGIC;


逻辑备份

2.1 dexp导出工具在数据库安装目录的bin目录下)
四种级别的导出方式。
2.1.1 FULL导出数据库的所有对象
例如,设置 FULL=Y,导出数据库的所有对象,导出数据库文件和日志文件放在路径 /data/dmbak/dexp 下。
cd /opt/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=YDIRECTORY=/data/dmbak/dexp

2.1.2 OWNER(导出用户拥有的所有对象
例如,设置 OWNER=USER01,导出用户 USER01 所拥有的对象全部导出。
cd /opt/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/data/dmbak/dexp

2.1.3 SCHEMAS(导出模式下的所有对象
例如,设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。
cd /opt/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/data/dmbak/dexp

2.1.4 TABLES(表级别导出)
例如,设置 TABLES=table1table2,导出 table1table2 两张表的所有数据和信息。
cd /opt/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01DIRECTORY=/data/dmbak/dexp

2.2 dimp导入工具在数据库安装目录的bin目录下)
四种级别的导入方式。
2.2.1 FULL数据库的所有对象
例如,设置 FULL=Y,导入整个数据库。
导入的数据库文件在 /data/dmbak/dexp,即将生成的日志文件放在 /data/dmbak/dimp
cd /opt/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA FILE=/data/dmbak/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/data/dmbak/dimp

2.2.2 OWNER(导入用户拥有的所有对象
例如,设置 OWNER=USER01,导入用户 USER01 所拥有的对象全部导出。
导入的数据库文件在 /data/dmbak/dexp,即将生成的日志文件放在 /data/dmbak/dimp
cd /opt/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA FILE=/data/dmbak/dexp/db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/data/dmbak/dimp

2.2.3 SCHEMAS(导模式下的所有对象
例如,设置 SCHEMAS=USER01,导入模式 USER01 模式下的所有对象。
导入的数据库文件在 /data/dmbak/dexp,即将生成的日志文件放在 /data/dmbak/dimp
cd /opt/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA FILE=/data/dmbak/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/data/dmbak/dimp

2.2.4 TABLES(表级别导入)
例如,设置 TABLES=table1,table2,导入 table1,table2 两张表的所有数据和信息。
导入的数据库文件在 /data/dmbak/dexp,即将生成的日志文件放在 /data/dmbak/dimp
cd /opt/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA FILE=/data/dmbak/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/data/dmbak/dimp


END


本文作者:王润枫(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论