ITPub博客

首页 > 数据库 > 国内数据库 > 达梦数据库备份与恢复:dexp 和 dimp 工具的使用与优化

达梦数据库备份与恢复:dexp 和 dimp 工具的使用与优化

原创 国内数据库 作者:sjw1933 时间:2025-10-19 23:39:14 0 删除 编辑

为了确保数据的安全和高效恢复,达梦数据库提供了两个重要工具:dexp 和 dimp,分别用于逻辑导出和导入操作。
dexp(逻辑导出工具):允许用户将数据库、用户、模式或表的数据和结构导出到备份文件中。用户可以根据具体需求选择导出范围、是否包含约束、索引等内容。
dimp(逻辑导入工具):则用于将使用 dexp 导出的备份文件恢复到目标数据库中。导入过程中,用户可以根据需求选择是否编译对象、是否忽略错误等设置。
通过合理使用这两个工具,数据库管理员可以实现高效的数据迁移、备份、恢复等操作,并在发生系统故障或数据丢失时快速恢复,保障数据的安全性和业务的连续性。

第一部分:dexp 逻辑导出

1.1 导出数据库(FULL 方式)

  • 完整导出整个数据库。
shell> su - dmdbashell> cd dmdbms/binshell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str1.dmp LOG=db_str1.log FULL=Y DIRECTORY=/data/dexp

1.2 导出用户(OWNER 方式)

  • 导出特定用户的所有对象。
shell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str2.dmp LOG=db_str2.log OWNER=SCOTT DIRECTORY=/data/dexp

1.3 导出模式(SCHEMAS 方式)

  • 导出指定模式下的所有对象。
shell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str3.dmp LOG=db_str3.log SCHEMAS=SCOTT DIRECTORY=/data/dexp

1.4 导出表(TABLES 方式)

  • 导出指定表或表分区的所有数据行、约束、索引等。
shell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str4.dmp LOG=db_str4.log TABLES=SCOTT.TEST DIRECTORY=/data/dexp

第二部分:dimp 逻辑导入

2.1 导入数据库(FULL 方式)

  • 导入整个数据库。
shell> su - dmdbashell> cd dmdbms/binshell> ./dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/data/dexp/db_str1.dmp LOG=db_str1.log FULL=Y DIRECTORY=/data/dimp

2.2 导入用户(OWNER 方式)

  • 导入指定用户的所有对象。
shell> ./dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/data/dexp/db_str2.dmp LOG=db_str2.log OWNER=SCOTT DIRECTORY=/data/dimp

2.3 导入模式(SCHEMAS 方式)

  • 导入指定模式的所有对象。
shell> ./dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/data/dexp/db_str3.dmp LOG=db_str3.log SCHEMAS=SCOTT DIRECTORY=/data/dimp

2.4 导入表(TABLES 方式)

  • 导入指定表的所有数据行、约束、索引等。
shell> ./dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/data/dexp/db_str4.dmp LOG=db_str4.log TABLES=SCOTT.TEST DIRECTORY=/data/dimp

第三部分:达梦  dexp 和  dimp 常用参数

3.1 达梦  dexp 常用参数

  • PARALLEL:指定导出的并行线程数。
shell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str1.dmp LOG=db_str1.log FULL=Y DIRECTORY=/data/dexp PARALLEL=2
  • TABLE_PARALLEL:指定每个表的导出线程数。
shell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str1.dmp LOG=db_str1.log FULL=Y DIRECTORY=/data/dexp TABLE_PARALLEL=3
  • EXCLUDE:设置导出时要忽略的对象(如索引、约束)。
shell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str4_1.dmp LOG=db_str4_1.log TABLES=DM.EMP,DM.TEST DIRECTORY=/data/dexp EXCLUDE=\(CONSTRAINTS,INDEXES\)
  • INCLUDE:设置导出时包含的对象。
shell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str4_1.dmp LOG=db_str4_1.log TABLES=DM.EMP,DM.TEST DIRECTORY=/data/dexp INCLUDE=\(CONSTRAINTS,INDEXES\)
  • QUERY:设置过滤条件导出表数据。
shell> ./dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=db_str4.dmp LOG=db_str4.log TABLES=DM.EMP DIRECTORY=/data/dexp QUERY="WHERE SAL>2000"

3.2 达梦  dimp 常用参数

  • PARALLEL:指定导入的并行线程数。
shell> ./dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/data/dexp/db_str1.dmp LOG=db_str1.log FULL=Y DIRECTORY=/data/dimp PARALLEL=2
  • IGNORE:设置忽略导入时的错误。
shell> ./dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/data/dexp/db_str1.dmp LOG=db_str1.log FULL=Y DIRECTORY=/data/dimp IGNORE=Y
  • COMMIT_ROWS:设置每批提交的行数。
shell> ./dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/data/dexp/db_str1.dmp LOG=db_str1.log FULL=Y DIRECTORY=/data/dimp COMMIT_ROWS=10000
  • COMPILE:导入时是否编译过程、视图等对象。
shell> ./dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/data/dexp/db_str1.dmp LOG=db_str1.log FULL=Y DIRECTORY=/data/dimp COMPILE=Y

总结

达梦数据库的 dexp 和 dimp 工具提供了强大的逻辑备份和恢复功能。通过合理的选择导出和导入的范围、并行处理的设置以及对特定对象的过滤,用户可以根据实际需求灵活地管理数据库的备份和恢复任务。这些工具不仅适用于数据库的常规备份恢复,还能在数据迁移、灾难恢复等场景中发挥重要作用。

合理使用 dexp 和 dimp 的高级参数,如 PARALLEL、IGNORE 和 QUERY,能够显著提升操作效率,减少备份和恢复过程中的


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23825935/viewspace-3098009/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
11年数据库行业经验,Oracle ACE、PG ACE、OCM、IBM Certified DBA、MySQL OCP、PolarDB技术专家、KCP、PCTP、PCSD、达梦师资认证、PolarDB开源社区技术顾问、ITPUB认证专家、某高校外聘教师

注册时间:2019-05-05

  • 博文量
    295
  • 访问量
    300711