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

达梦数据库dexp&dimp

原创 BinGoSTop 2025-05-19
203

DM8 dexp&dimp

1 功能简介

DM 数据库的备份还原包括两种类型:物理备份还原和逻辑备份还原。物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。例如使用 RMAN 工具进行的备份还原。物理备份还原请参考《DM8 备份与还原》。逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。例如使用 dexp 和 dimp 进行的备份还原。逻辑备份还原正是本书所要介绍的内容。

逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原 dexp 和 dimp 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在安装目录 /dmdbms/bin 中找到。

逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:

  • 数据库级(FULL):导出或导入整个数据库中的所有对象。
  • 用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
  • 模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
  • 表级(TABLES):导出或导入一个或多个指定的表或表分区。

2 dexp 逻辑导出

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

dexp 工具名称有两种写法 dexp 和 dexpdp,两者区别在于:dexp 导出的文件必须存放在客户端,dexpdp 导出的文件必须存放在服务器端。另外由于 dexpdp 是将客户端命令发给服务器启动 dexp 执行,如果客户端连接使用 dm_svc.conf 配置,服务器端也应该跟客户端配置一致。

2.1 使用 dexp 工具

dexp 工具需要从命令行启动。在 cmd 命令行工具中找到 dexp 所在安装目录 /dmdbms/bin,输入 dexp 和参数后回车。

dexp USERID=SYSDBA/DMdbatest1@192.168.157.11:5236 FILE=bingot1.dmp LOG=exp_bingot1.log DIRECTORY=/home/dmdba/ tables=bingo.t1,bingo.t2

2.2 dexp 参数一览表

参数

含义

备注

USERID

数据库的连接信息

必选

FILE

明确指定导出文件名称

可选

LOG

明确指定日志文件名称

可选

DIRECTORY

导出文件所在目录

可选

FULL

导出整个数据库(N)

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

OWNER

用户名列表,导出一个或多个用户所拥有的所有对象

SCHEMAS

模式列表,导出一个或多个模式下的所有对象

TABLES

表名列表,导出一个或多个指定的表或表分区

FUZZY_MATCH

TABLES选项是否启用模糊匹配(N)

可选

QUERY

用于指定对导出表的数据进行过滤的条件。

可选

PARALLEL

用于指定导出的过程中所使用的线程数目(16)

可选

TABLE_PARALLEL

用于指定导出每张表所使用的线程数(8);在MPP模式下会转换成单线程

可选

TABLE_POOL

用于设置导出过程中存储表的缓冲区个数(8)

可选

EXCLUDE

批量设置导出内容中忽略的对象。
1. EXCLUDE=[(]<对象种类名>{,<对象种类名>}[)]
对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。

可选

2. EXCLUDE=TYPE:name1,name2
TYPE可为:SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。

3. EXCLUDE=TYPE:cond{,TYPE:cond}
TYPE可取值同上,cond为IN或LIKE过滤条件

INCLUDE

批量设置导出时只导出指定的对象种类或某个具体对象。
1. INCLUDE=[(]<对象种类名>{,<对象种类名>}[)]
对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。

可选

2. INCLUDE=TYPE:name1,name2
TYPE可为SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。

3. INCLUDE=TYPE:cond{,TYPE:cond}
TYPE可取值同上,cond为IN或LIKE过滤条件

TABLESPACE

导出表空间/表空间组和表空间/表空间组存储选项(N)

可选

CONSTRAINTS

导出约束 (Y)

可选

GRANTS

导出权限 (Y)

INDEXES

导出索引 (Y)

TRIGGERS

导出触发器(Y)

ROWS

导出数据行 (Y)

NOLOGFILE

不使用日志文件(N)

可选

NOLOG

屏幕上不显示日志信息(N)

可选

LOG_WRITE

日志信息实时写入文件 (N)

可选

DUMMY

设置交互信息处理方式(P:打印)

可选

PARFILE

参数文件名,如果dexp的参数很多,可以存成参数文件

可选

FEEDBACK

每 x 行显示进度 (0)

可选

COMPRESS

是否压缩导出数据文件(N)

可选

COMPRESS_LEVEL

导出数据压缩等级(1)。取值范围0~9

可选

ENCRYPT

导出数据是否加密 (N)

可选,

ENCRYPT_PASSWORD

导出数据的加密密钥

和ENCRYPT同时使用

ENCRYPT_NAME

导出数据的加密算法

可选。

和ENCRYPT、ENCRYPT_PASSWORD同时使用。缺省为RC4

FILESIZE

用于指定单个导出文件大小的上限。可以按字节[B]、K[B]、M[B]、G[B]的方式指定大小

可选

FILENUM

多文件导出时,一个模板可以生成的文件数(99)。取值范围1~99

可选

DROP

导出后删除原表,但不级联删除 (N)

可选

DESCRIBE

导出数据文件的描述信息,记录在数据文件中

可选

FLASHBACK_SCN

用于指定导出表数据的闪回LSN,和FLASHBACK_TIME一起使用时只有一个能生效,参数位置靠后的生效

可选

FLASHBACK_TIME

用于指定导出表数据的闪回时间,和FLASHBACK_SCN一起使用时只有一个能生效,参数位置靠后的生效

可选

COL_DEFAULT_SEPARATE

是否单独导出列(Y)

可选

WITH_UR

导出表数据是否允许脏读(N)

可选

SIMPLE_LOG

导出日志是否使用简要日志(N)

可选

CTRL_INFO

控制信息用来控制一些特殊情况导出(0)

可选

CONFIG_FILE

配置文件路径,配置默认连接串和密码信息

可选

FILE_VERSION

用于指定导出的dmp文件的逻辑版本,有效范围9~28

可选

HELP

显示帮助信息

可选

2.2.1 如何转义双引号

  1. dexp 和 dimp 要求使用双引号对双引号内的双引号转义。
  2. WINDOWS 命令行,使用双引号或者反斜杠对双引号内的双引号转义。
  3. LINUX 命令行,使用反斜杠对双引号内的双引号转义。

2.2.2 DIRECTORY

DIRECTORY 用于指定导出文件及日志文件生成的路径。长度不超过 256 个字符。

使用 dexp 工具时,DIRECTORY 为可选参数,缺省导出到 dexp 所在路径。

使用 dexpdp 工具时,DIRECTORY 为必选参数,并且指定的路径必须是通过 CREATE DIRECTORY 定义的目录名。

//在远程服务器上创建目录

CREATE OR REPLACE DIRECTORY "bingo_expdp" AS '/home/dmdba/expdp';

select * from dba_directories;

//使用dexpdp导出文件

dexpdp.exe USERID=SYSDBA/Dmsys_123@192.168.1.60:5236 FILE=dexpDP.dmp LOG=dexpDP.log FULL=Y DIRECTORY=TESTDIR

3 dimp 逻辑导入

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

dimp 工具名称有两种写法 dimp 和 dimpdp,两者区别在于:dimp 导入的文件必须存放在客户端,dimpdp 导入的文件必须存放在服务器端。另外由于 dimpdp 是将客户端命令发给服务器启动 dimp 执行,如果客户端连接使用 dm_svc.conf 配置,服务器端也应该跟客户端配置一致。

3.1 使用 dimp 工具

dimp 工具需要从命令行启动。在 cmd 命令行工具中找到 dimp 所在安装目录/dmdbms/bin,输入 dimp 和参数后回车。

dimp USERID=SYSDBA/DMdbatest1@192.168.157.11:5236 FILE=bingot1.dmp LOG=imp_bingot1.log DIRECTORY=/home/dmdba/ tables=bingo.t1,bingo.t2 remap_tablespace=BINGO:MAIN remap_schema=bingo:sysdba

3.2 dimp 参数一览表

参数

含义

备注

USERID

数据库的连接信息

必选

FILE

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

可选

LOG

日志文件

可选

DIRECTORY

导入文件所在目录

可选

FULL

整库导入(N)

可选,四者中选其一。缺省为导入的文件导出时所用的方式

OWNER

以用户方式导入

SCHEMAS

以模式方式导入

TABLES

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

PARALLEL

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

可选

TABLE_PARALLEL

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

可选。在FAST_LOAD为Y时有效

IGNORE

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

可选

TABLE_EXISTS_ACTION

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

可选

FAST_LOAD

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

可选

FLDR_ORDER

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

可选

COMMIT_ROWS

批量提交的行数(5000)

可选

EXCLUDE

批量设置导入时忽略的对象种类。
1.EXCLUDE=[(]<对象种类名>{,<对象种类名>}[)]
对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES 、JOB。

可选

2. EXCLUDE=TYPE:name1,name2
TYPE可为SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。

INCLUDE

批量设置导入时只导入指定的对象种类或某个具体对象。
1.INCLUDE=[(]<对象种类名>{,<对象种类名>}[)]
对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES 、JOB。

可选

2. INCLUDE=TYPE:name1,name2
TYPE可为SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。

GRANTS

导入权限 (Y)

可选

CONSTRAINTS

导入约束 (Y)

可选

INDEXES

导入索引 (Y)

可选

TRIGGERS

导入触发器(Y)

可选

ROWS

导入数据行 (Y)

可选

NOLOGFILE

不使用日志文件(N)

可选

NOLOG

屏幕上不显示日志信息(N)

可选

DUMMY

设置交互信息处理(P:打印)

可选

LOG_WRITE

日志信息实时写入文件(N)

可选

PARFILE

参数文件名,如果dimp的参数很多,可以存成参数文件

可选

FEEDBACK

显示每 x 行 (0) 的进度

可选

COMPILE

编译过程, 程序包和函数 (Y)

可选

INDEXFILE

将表的索引/约束信息写入指定的文件

可选

INDEXFIRST

导入时先建索引(N)

可选

REMAP_SCHEMA

SOURCE_SCHEMA:TARGET_SCHEMA 将SOURCE_SCHEMA中的数据导入到TARGET_SCHEMA中

可选

ENCRYPT_PASSWORD

数据的加密密钥

可选。和dexp中的ENCRYPT_PASSWORD设置的密钥一样

ENCRYPT_NAME

数据的加密算法的名称

可选。和dexp中的ENCRYPT_NAME设置的加密算法一样

SHOW/ DESCRIBE

打印出指定文件的信息 (N)

可选

TASK_THREAD_NUMBER

用于设置dmfldr处理用户数据的线程数目

可选

BUFFER_NODE_SIZE

用于设置dmfldr读入文件缓冲区大小

可选

TASK_SEND_NODE_NUMBER

用于设置dmfldr发送节点个数,取值范围16~65535

可选

LOB_NOT_FAST_LOAD

如果一个表含有大字段,则不使用dmfldr(N)

可选

PRIMARY_CONFLICT

主键冲突的处理方式,默认报错

可选

TABLE_FIRST

是否强制先导入表 (缺省N)。Y表示先导入表,N正常导入

可选

SHOW_SERVER_INFO

是否显示服务器信息 (N),Y表示显示导出文件对应服务器信息,实际不导入,N表示不显示导出文件对应服务器信息,正常导入

可选

IGNORE_INIT_PARA

指定源库和目标库之间忽略差异的建库参数(0)。0:不忽略建库参数差异,1:忽略CASE_SENSITIVE,2:忽略LENGTH_IN_CHAR,3:忽略CASE_SENSITIVE和LENGTH_IN_CHAR

可选

AUTO_FREE_KEY

导入数据完成后, 是否释放密钥(N)。Y:是,N:否

可选

REMAP_TABLE

格式(SOURCE_TABLE:TARGET_TABLE),
将SOURCE_TABLE中的数据导入到TARGET_TABLE中

可选

REMAP_TABLESPACE

格式(SOURCE_TABLESPACE:TARGET_TABLESPACE)
将SOURCE_TABLESPACE表空间映射到TARGET_TABLESPACE表空间中

可选

SIMPLE_LOG

导入日志是否使用简要日志(N)

可选

DATA_ONLY

是否只导入表数据(N)

可选

INDEX_OPTION

使用快速装载时索引的设置选项(2)。1:不刷新二级索引,数据按照索引先排序,装载完后再将排序的数据插入索引;2:不刷新二级索引,数据装载完成重建后所有二级索引;刷新二级索引,数据装载的同时将数据插入二级索引

可选

CTRL_INFO

控制信息用来控制一些特殊情况导入(0)。0:不导入表空间定义,1:导入表空间定义,2:校验导入文件的MD5值,并执行导入,4:校验导入文件的MD5值,但不执行导入,8:导入对象时忽略OR REPLACE条件

可选

CONFIG_FILE

配置文件路径,配置默认连接串和密码信息

可选

FILE_VERSION

用于指定将dmp文件降级后生成的新dmp文件的逻辑版本,有效范围9~27

可选

HELP

显示帮助信息

可选

3.2.1 IGNORE

IGNORE 指定忽略创建数据库对象(表、类、java 类、domain、sequence、
comment、view、synonym、trigger、package、dblink、user、存储过程/函数、role 对象创建、权限授权语句、索引、约束等)错误。可选参数。缺省为 N,不忽略。

Y:忽略导入时所产生的创建数据库对象错误并继续执行。

N:不忽略导入时所产生的创建数据库对象错误。遇到错误的表会停止执行并报错,其他正常的表继续执行。缺省值

3.2.2 TABLE_EXISTS_ACTION

TABLE_EXISTS_ACTION 用于要导入的表已经存在时的处理方式。默认为直接报错。

语法如下:

CopyTABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE | TRUNCATE_CASCADE]

SKIP:跳过此表。

APPEND:直接向现有表中导入数据。

TRUNCATE:先删除现有表中的数据,再向表中导入数据。

REPLACE:先删除现有表,再导数据。

TRUNCATE_CASCADE:先删除现有表中的数据,并且级联删除依赖表数据,再向表中导入数据。

4 操作总结

功能上和oracle的exp、expdp、imp、impdp基本一致,语法基本相同。

……

关于达梦数据库更多的相关问题请浏览达梦云适配技术社区

达梦云适配技术社区

https://eco.dameng.com/

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

评论