数据泵简介
数据泵简介
DM 数据库的备份还原包括两种类型:
物理备份还原和逻辑备份还原。
物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。
例如使用 RMAN 工具进行的备份还原。逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。例如使用 dexp 和 dimp 进行的备份还原。
逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原 dexp 和 dimp 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在安装目录 /dmdbms/bin 中找到。
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
数据库级(FULL):导出或导入整个数据库中的所有对象。
用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
表级(TABLES):导出或导入一个或多个指定的表或表分区。
dexp语法如下 :
dexp PARAMETER=<value> { PARAMETER=<value> }
PARAMETER : dexp 参数。多个参数之间排列顺序无影响,参数之间使用空格间隔。
< value> :参数取值。
例子:
./dexp SYSDBA/SYSDBA@192.168.0.248:8888#/user/data FILE=db_str.dmp DIRECTORY=/mnt/dexp/data LOG=db_str.log FULL=Y
用户名和密码均为 SYSDBA , IP 地址为 192.168.0.248 ,端口号为 8888 的数据库
采用 FULL 方式完全导出。 /user/data 为数字证书路径。 导出文件名为 db_str.dmp ,导出
的日志文件名为 db_str.log ,导出文件的路径为 /mnt/dexp/data 。
dexp 参数详细介绍:
FILE: 明确指定导出文件名称 可选。 如果缺省该参数,则 导出文件名为 dexp.dmp
DIRECTORY : 导出文件所在目录
FULL : 导出整个数据库(N) 可选,四者中选其一。缺省 为 SCHEMAS
OWNER:用户名列表,导出一个或多个用户所拥有的所 有对象。缺省 为 SCHEMAS
SCHEMAS:模式列表,导出一个或多个模式下的所有对象
TABLES :表名列表,导出一个或多个指定的表或表分区。缺省 为 SCHEMAS
FUZZY_MATCH :TABLES 选项是否支持模糊匹配(N)
QUERY :用于指定对导出表的数据进行where过滤的条件。
PARALLEL:用于指定导出的过程中所使用的线程数目
TABLE_PARALLEL:用于指定导出每张表所使用的线程数,在 MPP:模式下会转换成单线程
TABLE_POOL:用于设置导出过程中存储表的缓冲区个数
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)
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
注意!!!每个参数含义后面的括号内为 (N) 则表示该参数缺省为否,为 (Y) 则表示为是
使用 dimp 工具
dimp 工具需要从命令行启动 。在 cmd 命令行工具中找到 dimp 所在安装目录
/dmdbms/bin ,输入 dimp 和参数后回车。
dimp语法如下 :
dimp PARAMETER=value { PARAMETER=value }
举个例子:
./dimp SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y
将逻辑备份采用 FULL 方式完全导入到用户名和密码为 SYSDBA , IP 地址为
192.168.0.248 ,端口号为 8888 的数据库。导入文件名为 db_str.dmp ,导入的日志文件名
为 db_str.log ,路径为 /mnt/data/dexp 。
dexp 参数详细介绍:
CTRL_INFO:控制信息用来控制一些特殊情况导出,缺省为:0
FILE:输入文件,即:dexp导出的文件,必选
DIRECTORY:导入文件所在目录
FULL:导入整个数据库:,四者中选其一。缺省为:SCHEMAS
OWNER:导入指定的用户名下的模式
SCHEMAS:导入的模式列表
TABLES:表名列表,指定导入的
tables:名称。不支持对外部:表进行导入
PARALLEL:用于指定导入的过程中所使用的线程数目
TABLE_PARALLEL:用于指定导入的过程中每个表所使用的子线程数目。在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.导入内容中忽略指定的对象。对象有:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。例如:EXCLUDE=(CONSTRAINTS,INDEXES) 2.EXCLUDE=TYPE:name1,name2 TYPE可为:SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。2.1:TABLES:忽略指定的表,使用TABLES:INFO格式,如果使用表级导入方式导入,则使用:TABLES:INFO格式的EXCLUDE无效。例如:EXCLUDE=TABLES:table1,table2 2.2:SCHEMAS:忽略指定的模式,使用SCHEMAS:INFO格式,如果使用表级、模式级导入方:式导入,则使用:SCHEMAS:INFO:格式的:EXCLUDE:无:效。例如:EXCLUDE=SCHEMAS:SCH1,SCH2:2.3:VIEWS:忽略指定的视图,使用VIEWS:INFO格式。例如:EXCLUDE=:VIEWS:view1,view2 2.4:PROCEDURE:忽略指定的存储过程 2.5:PACKAGE:忽略指定的包:2.6:SEQUENCE:忽略指定的序列
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)
SHOW/DESCRIBE:只列出文件内容:(N)
TASK_THREAD_NUMBER:设置dmfldr处理用户数据的线程数目
BUFFER_NODE_SIZE:设置:dmfldr:读入文件缓冲区大小
TASK_SEND_NODE_NUM:用于设置dmfldr发送节点个数[16,65535]
LOB_NOT_FAST_LOAD:如果一个表含有大字段,则不使用dmfldr(N)
PRIMARY_CONFLICT:主键冲突的处理方式[IGNORE|OVERWRITE|OVERWRITE2],默认报错
TABLE_FIRST:是否强制先导入表(缺省:N),Y:表示先导入表,N:正常导入
SHOW_SERVER_INFO:是否显示服务器信息(缺省:N),Y:表示显示导出文件对应服务器信息,实际不导入,N:表示不显示导出文:件对应服务器信息,正常导入
IGNORE_INIT_PARA:不忽略建库参数差异(0),忽略CASE_SENSITIVE(1),忽略LENGTH_IN_CHAR(2),:忽略:CASE_SENSITIVE和LENGTH_IN_CHAR(3)
AUTO_FREE_KEY:导入数据完成后,是否释放密钥(N):是(Y),:否(N)
SIMPLE_LOG:导入日志是否使用简要日志(N)
COMPRESS_LEVEL:压缩等级,设置等级越高则压缩比例越高,配合:COMPRESS:参数使用
DATA_ONLY:是否只导入表数据(N)
总结
本文完成了达梦数据库逻辑备份工具的学习和实操:
dexp 全库导出
dimp 全库导入
常用dexp、dimp参数速查表
逻辑备份和物理备份的区别
达梦社区地址:https://eco.dameng.com
