DM8导入导出

一、功能简介

DM 数据库的备份还原包括两种类型:物理备份还原和逻辑备份还原。物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。

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

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

数据库级(FULL):导出或导入整个数据库中的所有对象。

用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。

模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。

表级(TABLES):导出或导入一个或多个指定的表或表分区。

二、dexp 逻辑导出

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

dexp 工具名称有两种写法 dexp 和 dexpdp。两者语法完全相同。唯一的区别在于,dexp 导出的文件必须存放在客户端,dexpdp 导出的文件必须存放在服务器端。

1. 使用 dexp 工具

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

语法如下:

dexp PARAMETER=<value> { PARAMETER=<value> }

dexpdp  PARAMETER=<value> { PARAMETER=<value> }

PARAMETER:dexp 参数。多个参数之间排列顺序无影响,参数之间使用空格间隔。

\<value\>:参数取值。

例如,将用户名和密码均为 SYSDBA,IP地址为 172.19.1.151,端口号为 5236 的数据库采用 FULL 方式完全导出。导出文件名为 db_str.dmp,导出的日志文件名为 db_str.log,导出文件的路径为/mnt/dexp/data。

./dexp USERID=SYSDBA/SYSDBA@172.19.1.151:5235 FILE=db_str.dmp
DIRECTORY=/mnt/dexp/data LOG=db_str.log FULL=Y

2. dexp 参数一览表

参数

含义

备注

USERID

数据库的连接信息

必选

FILE

明确指定导出文件名称

可选。如果缺省该参数,则导出文件名为dexp.dmp

DIRECTORY

导出文件所在目录

可选

FULL

导出整个数据库(N)

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

OWNER

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

SCHEMAS

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

TABLES

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

FUZZY_MATCH

TABLES选项是否支持模糊匹配(N)

可选

QUERY 

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

可选

PARALLEL

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

可选

TABLE_PARALLEL

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

可选

TABLE_POOL

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

可选

EXCLUDE

1. 导出内容中忽略指定的对象。对象有CONSTRAINTS、INDEXES、ROWS、TRIGGERS和GRANTS。

可选

比如:EXCLUDE= (CONSTRAINTS,INDEXES)

2. 忽略指定的表,使用TABLES:INFO格式,如果使用表级导出方式导出,则使用TABLES:INFO格式的EXCLUDE无效。例如:EXCLUDE= TABLES:table1,table2

3. 忽略指定的模式,使用SCHEMAS:INFO格式,如果使用表级,模式级导出方式导出,则使用SCHEMAS:INFO格式的EXCLUDE无效。例如:EXCLUDE=SCHEMAS:SCH1,SCH2

INCLUDE

导出内容中包含指定的对象

可选

例如:INCLUDE=(CONSTRAINTS,INDEXES) 

或者INCLUDE=TABLES:table1,table2

CONSTRAINTS

导出约束 (Y)

可选。

TABLESPACE

导出的对象定义是否包含表空间(N)

此处单独设置与和EXCLUDE/INCLUDE中批量设置功能一样。设置一个即可

GRANTS

导出权限 (Y) 

INDEXES

导出索引 (Y)

TRIGGERS

导出触发器(Y)

ROWS

导出数据行 (Y)

LOG

明确指定日志文件名称

可选,如果缺省该参数,则导出文件名为dexp.log

NOLOGFILE

不使用日志文件(N)

可选

NOLOG

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

可选

LOG_WRITE

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

可选

DUMMY

交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N)。默认为NO,不打印交互信息。

可选

PARFILE

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

可选

FEEDBACK

每 x 行显示进度 (0)

可选

COMPRESS

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

可选

ENCRYPT

导出数据是否加密 (N)

可选,

ENCRYPT_PASSWORD

导出数据的加密密钥

和ENCRYPT同时使用

ENCRYPT_NAME

导出数据的加密算法

可选。

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

FILESIZE

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

可选

FILENUM

多文件导出时,一个模板可以生成文件数,范围为[1,99],默认99

可选

DROP

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

可选

DESCRIBE

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

可选

HELP

显示帮助信息

可选

注意:

每个参数含义后面的括号内为(N)则表示该参数缺省为否,为(Y)则表示为是,虽然参数大部分为可选参数,但后台这些参数都会传到服务器,此时参数的值就是缺省值。

三、dimp 逻辑导入

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

dimp工具名称有两种写法dimp和dimpdp。两者语法完全相同。唯一的区别在于,dimp导入的文件必须存放在客户端,dexpdp导入的文件必须存放在服务器端。

1. 使用 dimp 工具

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

语法如下:

dimp PARAMETER=value { PARAMETER=value }

dimpdp  PARAMETER=value { PARAMETER=value }

PARAMETER:dimp参数。多个参数之间排列顺序无影响,参数之间使用空格间隔。

value:参数取值。

例如,将逻辑备份采用FULL方式完全导入到用户名和密码为SYSDBA,IP地址为172.19.1.150,端口号为5236的数据库。导入文件名为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

2. dimp参数一览表

参数

含义

备注

USERID

数据库的连接信息

必选

FILE

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

必选

DIRECTORY

导入文件所在目录

可选

FULL

导入整个数据库(N)

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

OWNER

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

SCHEMAS

导入的模式列表

TABLES

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

PARALLEL

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

可选

TABLE_PARALLEL

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

可选。在FAST_LOADY时有效

IGNORE

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

可选

TABLE_EXISTS_ACTION

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

可选

FAST_LOAD

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

可选

FLDR_ORDER

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

可选

COMMIT_ROWS

批量提交的行数(5000)

可选

EXCLUDE

忽略指定的对象(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)。格式 EXCLUDE = (CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)

可选。例如 EXCLUDE = (CONSTRAINT

GRANTS

导入权限(Y)

可选

CONSTRAINTS

导入约束(Y)

可选

INDEXES

导入索引(Y)

可选

TRIGGERS

导入触发器(Y)

可选

ROWS

导入数据行(Y)

可选

LOG

日志文件

可选

NOLOGFILE

不使用日志文件(N)

可选

NOLOG

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

可选

DUMMY

交互信息处理:打印(P)。取值Y/N

可选

Y:打印所有交互信息 

N:不打印交互信息

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,因为dmfldr是一行一行提交的

可选

PRIMARY_CONFLICT

主键冲突的处理方式[IGNORE | OVERWRITE | OVERWRITE2],默认报错

可选

TABLE_FIRST

是否强制先导入表(默认N),Y表示先导入表,N正常导入

可选

SHOW_SERVER_INFO

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

可选

HELP

显示帮助信息

可选

http://t.csdn.cn/v9RMw

  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值