|
DM数据库中使用dexp 和 dimp进行逻辑导出/导入
一、dexp逻辑导出
dexp 工具名称有两种写法 dexp 和 dexpdp。dexp 导出的文件必须存放在客户端,dexpdp 导出的文件必须存放在服务器端。
1.逻辑导入/导出分类
数据库级(FULL):导出或导入整个数据库中的所有对象。
用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。(默认)
表级(TABLES):导出或导入一个或多个指定的表或表分区
2.dexp工具的使用
在安装目录/dmdbms/bin,输入 dexp 和参数后回车
./dexp PARAMETER=<value> { PARAMETER=<value> }
1
PARAMETER:dexp 参数。多个参数之间排列顺序无影响,参数之间使用空格间隔。
例如:将用户名和密码均为 SYSDBA,数据库采用FULL方式完全导出。导出文件名为db_str.dmp,导出的日志文件名为 db_str.log,导出文件的路径为/mnt/dexp/data。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp DIRECTORY=/mnt/dexp/data LOG=db_str.log FULL=Y
3.dexp的常用参数
参数 说明
USERID 数据库的连接信息
user_name 就是要导入的目标库连接的用户名了
password 要导入的目标库连接的密码,密码要用双引号包起来,然后外面再用一个单引号包一下(可能不用单引号也行,不知道)
127.0.0.1:5237 达梦数据库部署的host & port
FILE 指定导出文件的名称(默认为dexp.dmp)
DIRECTORY 指定导出文件的保存路径
FULL 数据库级,导出整个数据库(N)
OWNER 用户级,导出一个或多个用户所拥有的所有对象
SCHEMAS 模式级,导出一个或多个模式下的所有对象
TABLES 表级,导出一个或多个指定的表或表分区
LOG 指定日志文件名称
3.1 USERID详解
例如:将用户名和密码均为 SYSDBA,IP 地址为 192.168.1.64,端口号为 5236 的数据库采用SCHEMAS方式完全导出。mpp_type=local表示 MPP 环境下建立的会话为本地会话。inet_type=tcp表示采用tcp通信协议。导出文件名为/home/dexp_test.dmp,导出的日志文件名为/home/log/。
./dexp SYSDBA/SYSDBA@192.168.1.64:5236#"{mpp_type=local,inet_type=tcp}" file=/home/dexp_test.dmp log=/home/log/
3.2 FILE详解
FILE 用于指定导出的文件(可包含路径),可包含多个文件,用逗号分隔。默认导出文件名称为dexp.dmp。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp
如果 FILE 指定的文件包含生成路径,则以FILE指定的优先,DIRECTORY其次
3.3 LOG详解
(1)LOG 用于指定导出的日志文件名称(可以包含路径),可以包含多个文件,用逗号分隔,默认导出日志文件名称为 dexp.log。
例如:指定日志文件名为 db_str%U.log。同时使用%U 对文件进行扩展,使用FIZESIZE=128m 指定文件大小。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str%U.log FULL=Y DIRECTORY=/mnt/data/dexpFILESIZE=128m
如果 LOG 指定的文件包含生成路径,则以LOG指定的优先,DIRECTORY其次
3.4 DIRECTORY详解
如果 FILE 和 LOG 参数未指定路径信息,则DIRECTORY指定的目录将发挥作用;如果都没有指定路径,导出路径一般为当前路径。
4.四种级别的导出方式
4.1 FULL详解
例如:设置 FULL=Y,导出数据库的所有对象,导出数据库文件和日志文件放在路径下
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=YDIRECTORY=/mnt/data/dexp
4.2 OWNER详解
例如,设置 OWNER=USER01,导出用户 USER01 所拥有的对象全部导出。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/mnt/data/dexp
4.3 SCHEMAS详解
例如,设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dexp
4.4 TABLES详解
例如,设置 TABLES=table1,table2,导出 table1,table2 两张表的所有数据和信息。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dexp
5.其他参数
参数 举例 说明
FUZZY_MATCH FUZZY_MATCH=Y 支持模糊匹配
QUERY QUERY=“WHERE AGE=19” 导出满足"WHERE AGE=19"条件的数据
PARALLEL PARALLEL=2 设置 PARALLEL=2 时则线程数为 2
TABLE_PARALLEL TABLE_PARALLEL=3 定导出每张表所使用的线程数为3
TABLE_POOL TABLE_POOL=3 设置3个缓冲区(默认为1)
EXCLUDE EXCLUDE=/(CONSTRAINTS/) 不导出约束
INCLUDE INCLUDE=/(INDEXES/) 导出索引信息
NOLOGFILE NOLOGFILE=Y 不使用日志文件
二、dimp 逻辑导入
1.dimp工具的使用
在安装目录/dmdbms/bin,输入 dimp 和参数后回车
例如,将逻辑备份采用 FULL 方式完全导入到用户名和密码为 SYSDBA,IP 地址为192.168.0.248,端口号为 8888 的数据库。导入文件名为 db_str.dmp,导入的日志文件名为 db_str.log,路径为/mnt/data/dexp。
./dimp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp
DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y
后续dimp 的用法和参数dexp完全相同
|