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

达梦数据库逻辑备份还原

一、dexp 逻辑导出

dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。备份的内容非常灵活,可以选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等),在备份前还可以选择生成日志文件,记录备份的过程以供查看

1.1 使用 dexp 工具

dexp 工具需要从命令行启动。以数据库软件安装目录为 /dm8/dmdbms/bin 为例,在 /dm8/dmdbms/bin 路径下输入 dexp 和参数后回车。参数在下一节详细介绍

##语法如下

dimp PARAMETER=value { PARAMETER=value }


##将逻辑备份采用 FULL 方式完全导入到用户名为 SYSDBA,IP 地址为 192.168.6.147,端口号为 8888 的数据库。导入文件名为 db_str.dmp,导入的日志文件名1为 db_str.log,路径为/dm8/dmdbms/data/dexp/

./dimp USERID=SYSDBA/*****@192.168.6.147:8888 FILE=db_str.dmp DIRECTORY=/dm8/dmdbms/data/dexp/ LOG=db_str.log FULL=Y


1.2 dexp 相关参数含义

参数

含义

备注

USERID

数据库的连接信息

必选

FILE

输入文件,即 dexp 导出的文件

必选

DIRECTORY

导入文件所在目录

可选

FULL

导入整个数据库 (N)

可选,四者中选其一。缺省为SCHEMAS

OWNER

导入指定的用户名下的模式

SCHEMAS

导入的模式列表

TABLES

表名列表,指定导入的 tables 名称。不支持对外部表进行导入

PARALLEL

用于指定导入的过程中所使用的线程数目

可选

TABLE_PARALLEL

用于指定导入的过程中每个表所使用的子线程数目

可选。在 FAST_LOAD 为 Y 时有效

IGNORE

忽略创建错误 (N)。如果表已经存在则向表中插入数据,否则报错表已经存在

可选

TABLE_EXISTS_ACTION

需要的导入表在目标库中存在时采取的操作 [SKIP| APPEND | TRUNCATE | REPLACE]

可选

FAST_LOAD

是否使用 dmfldr 进行数据导入(N)

可选

FLDR_ORDER

使用 dmfldr 是否需要严格按顺序来导数据(Y)

可选

COMMIT_ROWS

批量提交的行数(5000)

可选

1.3 四种级别导出功能

1.3.1 FULL

FULL 方式导出数据库的所有对象

./dexp USERID=SYSDBA/Oracle2025! FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/dm8/dmdbms/data/dexp/


image.png

1.3.2 OWNER

OWNER 方式导出一个或多个用户拥有的所有对象

##设置 OWNER=TEST_USER,导出用户 TEST_USER 所拥有的对象全部导出。

./dexp USERID=SYSDBA/Oracle2025! FILE=db_str1.dmp LOG=db_str1.log OWNER=TEST_USER DIRECTORY=/dm8/dmdbms/data/dexp/


image.png

检查导出数据

image.png

1.3.3 SCHEMAS

SCHEMAS 方式的导出一个或多个模式下的所有对象

##设置 SCHEMAS=TEST_USER,导出模式 TEST_USER 模式下的所有对象。

./dexp USERID=SYSDBA/Oracle2025! FILE=db_str2.dmp LOG=db_str2.log SCHEMAS=TEST_USER DIRECTORY=/dm8/dmdbms/data/dexp/


image.png

1.3.4 TABLES

TABLES 方式导出一个或多个指定的表或表分区。导出所有数据行、约束、索引等信息

./dexp USERID=SYSDBA/Oracle2025! FILE=db_str3.dmp LOG=db_str3.log TABLES=DEPARTMENT,EMPLOYEE DIRECTORY=/dm8/dmdbms/data/dexp/


image.png

image.png

1.4.1 dexp 逻辑导出

导出数据库的所有对象 (FULL=Y),导出文件为 dexp01.dmp ,导出日志为 dexp01.log,导出文件和日志文件都存放在 /dm8/dmdbms/data/dexp 目录中

##若使用加密参数对备份进行加密,可使用加密参数 ENCRYPT、ENCRYPT_PASSWORD、ENCRYPT_NAME 。

##具体使用方法如下:

./dexp SYSDBA/*****@192.168.6.147:5236 FILE=dexp03.dmp LOG=dexp03.log DIRECTORY=/dm8/dmdbms/data/dexp FULL=Y ENCRYPT=Y ENCRYPT_PASSWORD=damengren ENCRYPT_NAME= DES_CBC


##导出数据库的所有对象 (FULL=Y),导出文件为 dexp03.dmp,导出日志为 dexp03.log,导出文件和日志文件都存放在 /dm8/dmdbms/data/dexp 目录中。

二、dimp 逻辑导入

dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp 导入是 dexp 导出的相反过程。还原的方式可以灵活选择,例如是否忽略对象存在而导致的创建错误、是否导入约束、是否导入索引、导入时是否需要编译、是否生成日志等

2.1 使用 dimp 工具

dimp 工具需要从命令行启动。以数据库软件安装目录为 /dm8/dmdbms/bin 为例,在 /dm8/dmdbms/bin 路径下输入 dimp 和参数后回车。参数在下一节详细介绍

##语法如下

dimp PARAMETER=value { PARAMETER=value }

##将逻辑备份采用 FULL 方式完全导入到用户名为 SYSDBA,IP 地址为 192.168.6.147,端口号为 5236 的数据库。导入文件名为 db_str.dmp,导入的日志文件名为 db_str.log,路径为/dm8/dmdbms/data/dexp

./dimp USERID=SYSDBA/*****@192.168.6.147:5236 FILE=db_str.dmp DIRECTORY=/dm8/dmdbms/data/dexp LOG=db_str.log FULL=Y

2.2 dimp 相关参数含义

参数

含义

备注

USERID

数据库的连接信息

必选

FILE

输入文件,即 dexp 导出的文件

必选

DIRECTORY

导入文件所在目录

可选

FULL

导入整个数据库 (N)

可选,四者中选其一。缺省为SCHEMAS

OWNER

导入指定的用户名下的模式

SCHEMAS

导入的模式列表

TABLES

表名列表,指定导入的 tables 名称。不支持对外部表进行导入

PARALLEL

用于指定导入的过程中所使用的线程数目

可选

TABLE_PARALLEL

用于指定导入的过程中每个表所使用的子线程数目

可选。在 FAST_LOAD 为 Y 时有效

IGNORE

忽略创建错误 (N)。如果表已经存在则向表中插入数据,否则报错表已经存在

可选

TABLE_EXISTS_ACTION

需要的导入表在目标库中存在时采取的操作 [SKIP| APPEND | TRUNCATE | REPLACE]

可选

FAST_LOAD

是否使用 dmfldr 进行数据导入(N)

可选

FLDR_ORDER

使用 dmfldr 是否需要严格按顺序来导数据(Y)

可选

COMMIT_ROWS

批量提交的行数(5000)

2.3 四种级别导入功能

2.3.1 FULL

FULL 方式导入整个数据库

##设置 FULL=Y,导入数据库,导入的数据库文件在 /dm8/dmdbms/data/dexp/,即将生成的日志文件放在 /dm8/dmdbms/data/dexp/。


image.png

2.3.2 OWNER

OWNER 方式导入一个或多个用户拥有的所有对象

为了方便测试,这里我删除测试数据表 employee,这里不报错也可以删除测试用户TEST_USER

image.png

./dimp USERID=SYSDBA/Oracle2025! FILE=/dm8/dmdbms/data/dexp/db_str1.dmp LOG=db_str5.log OWNER=USER01 DIRECTORY=/dm8/dmdbms/data/dexp/


image.png

2.3.3 SCHEMAS

SCHEMAS 方式的导入一个或多个模式下的所有对象

./dimp USERID=SYSDBA/Oracle2025! FILE=/dm8/dmdbms/data/dexp/db_str2.dmp LOG=db_str6.log SCHEMAS=TEST_USER DIRECTORY=/dm8/dmdbms/data/dexp/


image.png

验证

image.png

2.3.4 TABLES

TABLES 方式导入一个或多个指定的表或表分区。导入所有数据行、约束、索引等信息

删掉测试数据

image.png

导入

##设置 TABLES=table1,table2,导入 table1,table2 两张表的所有数据和信息。导入的数据库文件在 /dm8/dmdbms/data/dexp/,即将生成的日志文件放在 /dm8/dmdbms/data/dexp/。

./dimp USERID=SYSDBA/Oracle2025! FILE=/dm8/dmdbms/data/dexp/db_str3.dmp LOG=db_str7.log TABLES=DEPARTMENT,EMPLOYEE DIRECTORY=/dm8/dmdbms/data/dexp/


image.png

最后修改时间:2025-11-17 09:43:49
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论