工具介绍
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。
四种级别所提供的功能:
数据库级(FULL):导出或导入整个数据库中的所有对象。
用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
表级(TABLES):导出或导入一个或多个指定的表或表分区。
dexp和dimp工具位于达梦数据库软件安装目录下的bin目录下($DM_HOME/bin)。dexp为导出工具,dimp为导入工具,导入dexp导出的dmp文件。
需要注意的是,低版本dimp工具无法导入高版本dexp工具导出的dmp文件。
使用说明
dexp工具
可以使用dexp help命令查看各个选项功能说明。dexp帮助命令如下:
[dmdba@localhost bin]$ ./dexp help
dexp V8
格式: ./dexp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例程: ./dexp SYSDBA/SYSDBA GRANTS=Y TABLES=(SYSDBA.TAB1,SYSDBA.TAB2,SYSDBA.TAB3)
USERID 必须是命令行中的第一个参数
关键字 说明(默认值)
--------------------------------------------------------------------------------
USERID 用户名/口令 格式:{<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
<connect_identifier> : [<svc_name> | host[:port] | <unixsocket_file>]
<option> : #{<exetend_option>=<value>[,<extend_option>=<value>]...}
--此行外层{}是为了封装参数之用,书写时需要保留
<os_auth> : AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
FILE 导出文件 (dexp.dmp)
DIRECTORY 导出文件所在目录
FULL 整库导出 (N)
OWNER 以用户方式导出 格式 (user1,user2,...)
SCHEMAS 以模式方式导出 格式 (schema1,schema2,...)
TABLES 以表方式导出 格式 (table1,table2,...)
FUZZY_MATCH TABLES选项是否支持模糊匹配 (N)
QUERY 用于导出表的子集的select 子句
PARALLEL 用于指定导出的过程中所使用的线程数目
TABLE_PARALLEL 用于指定导出的过程中表内的并发线程数目,MPP模式下会转换成单线程
TABLE_POOL 用于指定表的缓冲区个数
EXCLUDE 忽略指定的对象
格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or
EXCLUDE=TABLES:table1,table2 or
EXCLUDE=SCHEMAS:sch1,sch2
INCLUDE 包含指定的对象
格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or
INCLUDE=TABLES:table1,table2
CONSTRAINTS 导出约束 (Y)
TABLESPACE 导出对象带有表空间 (N)
GRANTS 导出权限 (Y)
INDEXES 导出索引 (Y)
TRIGGERS 导出触发器 (Y)
ROWS 导出数据行 (Y)
LOG 屏幕输出的日志文件
NOLOGFILE 不使用日志文件(N)
NOLOG 屏幕上不显示日志信息(N)
LOG_WRITE 日志信息实时写入文件: 是(Y),否(N)
DUMMY 交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N)
PARFILE 参数文件名
FEEDBACK 每 x 行显示进度 (0)
COMPRESS 导出数据是否压缩 (N)
ENCRYPT 导出数据是否加密 (N)
ENCRYPT_PASSWORD 导出数据的加密密钥
ENCRYPT_NAME 加密算法的名称
FILESIZE 每个转储文件的最大大小
FILENUM 一个模板可以生成的文件数
DROP 导出后删除原表,但不级联删除 (N)
DESCRIBE 导出数据文件的描述信息,记录在数据文件中
HELP 打印帮助信息
使用示例(常规用法)
全库级导出(FULL=Y)
[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5236 DIRECTORY=/home/dmdba file=dexp_full.dmp log=dexp_full.log full=y
dexp V8
....
.....
共导出 4 个SCHEMA
整个导出过程共花费 5.388 s
成功终止导出, 没有出现警告 <----成功导出的最后显示信息。如果有报错或者警告会在这打印出有警告,这时需要去导出日志中查看报错或者报警告的对象
上面命令说明:
对本机5236端口实例进行全库导出,导出dmp和日志文件存放在/home/dmdba目录下,导出dmp文件名为dexp_full.dmp,导出日志文件名为dexp_full.log。
在导出日志中,可以查看到导出对象的详细信息。
用户级导出(OWNER)
导出OA、SCOTT两个用户下的所有模式对象和数据:
[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5236 DIRECTORY=/home/dmdba file=dexp_owner.dmp log=dexp_owner.log owner=OA,SCOTT
dexp V8
正在导出 第1 个SCHEMA :OA
开始导出模式[OA].....
----- 共导出 0 个SEQUENCE -----
----- 共导出 0 个VIEW -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个COMMENT VIEW -----
----- 共导出 0 个COMMENT COL -----
----- 共导出 0 个PROCEDURE -----
----- 共导出 0 个SYNONYM -----
----- 共导出 0 个DBLINK -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个PACKAGE -----
----- 共导出 0 个PKG_BODY -----
----- 共导出 0 个OBJECT of NO REFER OTHER CLASS -----
----- 共导出 0 个OBJECT of REFER OTHER CLASS -----
----- 共导出 0 个JCLASS -----
----- 共导出 0 个CLASS_BODY -----
----- 共导出 0 个DOMAIN -----
导出模式下的对象权限...
----- [2022-03-23 11:11:41]导出表:test -----
导出模式下的对象权限...
表test导出结束,共导出 1484 行数据
模式[OA]导出结束.....
成功导出 第1 个SCHEMA :OA
正在导出 第2 个SCHEMA :SCOTT
开始导出模式[SCOTT].....
----- 共导出 0 个SEQUENCE -----
----- 共导出 0 个VIEW -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个COMMENT VIEW -----
----- 共导出 0 个COMMENT COL -----
----- 共导出 0 个PROCEDURE -----
----- 共导出 0 个SYNONYM -----
----- 共导出 0 个DBLINK -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个PACKAGE -----
----- 共导出 0 个PKG_BODY -----
----- 共导出 0 个OBJECT of NO REFER OTHER CLASS -----
----- 共导出 0 个OBJECT of REFER OTHER CLASS -----
----- 共导出 0 个JCLASS -----
----- 共导出 0 个CLASS_BODY -----
----- 共导出 0 个DOMAIN -----
导出模式下的对象权限...
----- [2022-03-23 11:11:41]导出表:DEPT -----
导出模式下的对象权限...
表DEPT导出结束,共导出 4 行数据
----- [2022-03-23 11:11:41]导出表:EMP -----
导出模式下的对象权限...
表EMP导出结束,共导出 14 行数据
----- [2022-03-23 11:11:41]导出表:BONUS -----
导出模式下的对象权限...
表BONUS导出结束,共导出 0 行数据
----- [2022-03-23 11:11:41]导出表:SALGRADE -----
导出模式下的对象权限...
表SALGRADE导出结束,共导出 5 行数据
模式[SCOTT]导出结束.....
成功导出 第2 个SCHEMA :SCOTT
共导出 2 个SCHEMA
整个导出过程共花费 0.432 s
成功终止导出, 没有出现警告
模式级导出(SCHEMAS)
导出SCOTT模式、TEST模式、test1模式。
[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5236 DIRECTORY=/home/dmdba file=dexp_schemas.dmp log=dexp_schemas.log schemas=SCOTT,TEST,test1
dexp V8
正在导出 第1 个SCHEMA :SCOTT
开始导出模式[SCOTT].....
----- 共导出 0 个SEQUENCE -----
----- 共导出 0 个VIEW -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个COMMENT VIEW -----
----- 共导出 0 个COMMENT COL -----
----- 共导出 0 个PROCEDURE -----
----- 共导出 0 个SYNONYM -----
----- 共导出 0 个DBLINK -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个PACKAGE -----
----- 共导出 0 个PKG_BODY -----
----- 共导出 0 个OBJECT of NO REFER OTHER CLASS -----
----- 共导出 0 个OBJECT of REFER OTHER CLASS -----
----- 共导出 0 个JCLASS -----
----- 共导出 0 个CLASS_BODY -----
----- 共导出 0 个DOMAIN -----
导出模式下的对象权限...
----- [2022-03-23 11:24:44]导出表:DEPT -----
导出模式下的对象权限...
表DEPT导出结束,共导出 4 行数据
----- [2022-03-23 11:24:44]导出表:EMP -----
导出模式下的对象权限...
表EMP导出结束,共导出 14 行数据
----- [2022-03-23 11:24:45]导出表:BONUS -----
导出模式下的对象权限...
表BONUS导出结束,共导出 0 行数据
----- [2022-03-23 11:24:45]导出表:SALGRADE -----
导出模式下的对象权限...
表SALGRADE导出结束,共导出 5 行数据
模式[SCOTT]导出结束.....
成功导出 第1 个SCHEMA :SCOTT
正在导出 第2 个SCHEMA :TEST
开始导出模式[TEST].....
----- 共导出 0 个SEQUENCE -----
----- 共导出 0 个VIEW -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个COMMENT VIEW -----
----- 共导出 0 个COMMENT COL -----
----- 共导出 0 个PROCEDURE -----
----- 共导出 0 个SYNONYM -----
----- 共导出 0 个DBLINK -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个PACKAGE -----
----- 共导出 0 个PKG_BODY -----
----- 共导出 0 个OBJECT of NO REFER OTHER CLASS -----
----- 共导出 0 个OBJECT of REFER OTHER CLASS -----
----- 共导出 0 个JCLASS -----
----- 共导出 0 个CLASS_BODY -----
----- 共导出 0 个DOMAIN -----
导出模式下的对象权限...
----- [2022-03-23 11:24:45]导出表:T1 -----
导出模式下的对象权限...
表T1导出结束,共导出 14 行数据
模式[TEST]导出结束.....
成功导出 第2 个SCHEMA :TEST
正在导出 第3 个SCHEMA :test1
开始导出模式[test1].....
----- 共导出 0 个SEQUENCE -----
----- 共导出 0 个VIEW -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个COMMENT VIEW -----
----- 共导出 0 个COMMENT COL -----
----- 共导出 0 个PROCEDURE -----
----- 共导出 0 个SYNONYM -----
----- 共导出 0 个DBLINK -----
----- 共导出 0 个TRIGGER -----
----- 共导出 0 个PACKAGE -----
----- 共导出 0 个PKG_BODY -----
----- 共导出 0 个OBJECT of NO REFER OTHER CLASS -----
----- 共导出 0 个OBJECT of REFER OTHER CLASS -----
----- 共导出 0 个JCLASS -----
----- 共导出 0 个CLASS_BODY -----
----- 共导出 0 个DOMAIN -----
导出模式下的对象权限...
----- [2022-03-23 11:24:45]导出表:T1 -----
导出模式下的对象权限...
表T1导出结束,共导出 14 行数据
模式[test1]导出结束.....
成功导出 第3 个SCHEMA :test1
共导出 3 个SCHEMA
整个导出过程共花费 0.526 s
成功终止导出, 没有出现警告
表级别(TABLES)
常规用法
导出XMLTEST模式下指定的表:T1,t,SYSCONFIG,其中t表表名为小写。
在大小写敏感的库中,导出小写的表名时,表名需要加双引号。另外,在Linux系统命令行模式下,还需要在双引号前加入转义符。
在大小写不敏感的库中,可以不用加双引号。
[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5237 DIRECTORY=/home/dmdba file=dexp_tab2.dmp log=dexp_tab2.log tables=XMLTEST.t1,xmltest.\"t\",XMLTEST.SYSCONFIG
dexp V8
----- [2022-03-23 11:42:19]导出表:T1 -----
导出模式下的对象权限...
表T1导出结束,共导出 7 行数据
----- [2022-03-23 11:42:19]导出表:t ----- <----小写表名
导出模式下的对象权限...
表t导出结束,共导出 793 行数据
----- [2022-03-23 11:42:20]导出表:SYSCONFIG -----
导出模式下的对象权限...
表SYSCONFIG导出结束,共导出 57 行数据
整个导出过程共花费 0.190 s
成功终止导出, 没有出现警告