DM8数据库导出工具dexpdp:INCLUDE参数深入解读

DM8数据库导出工具dexpdp:INCLUDE参数详尽剖析

一、引言

此篇文章将会围绕DM8数据库的数据泵工具dexpdp里的INCLUDE参数展开,深入剖析它的语法、功能以及应用场景,以此协助数据库管理员高效把控数据导出的范围。

二、INCLUDE参数概述

INCLUDE参数是dexpdp工具中用于精准把控导出对象的关键参数之一。和用于排除特定对象的EXCLUDE参数相对应,INCLUDE参数的作用在于仅仅导出指定的对象种类或者某一个具体对象,从而达成对导出内容的细致化把控。

三、INCLUDE参数语法详解

3.1 基本语法格式

INCLUDE参数具备三种语法格式:

# 格式一:指定对象种类名
INCLUDE=[(]<对象种类名>{,<对象种类名>}[)]

# 格式二:按类型和名称指定
INCLUDE=TYPE: name1,name2

# 格式三:按类型和过滤条件指定
INCLUDE=TYPE:cond{,TYPE:cond}
3.2 对象种类名列表

所支持的对象种类名列表如下:

对象种类名 说明
CONSTRAINTS 表的约束(像主键、外键之类的)
INDEXES 索引
ROWS 表的数据行
TRIGGERS 触发器
GRANTS 权限
VIEWS 视图
PROCEDURE 存储过程
PACKAGE
SEQUENCE 序列
TABLES
3.3 TYPE类型列表

所支持的TYPE类型包含以下这些:

TYPE类型 说明
SCHEMAS 模式
TABLES
VIEWS 视图
PROCEDURE 存储过程以及存储函数
PACKAGE
SEQUENCE 序列
3.4 cond过滤条件

支持两种过滤条件:

过滤条件 说明 示例
IN 精确匹配 IN (‘table1’, ‘table2’)
LIKE 模糊匹配(支持%通配符) LIKE ‘TEMP%’

四、INCLUDE参数使用注意事项

  1. 与导出模式的关联
    当采用TABLES表级导出或者SCHEMAS模式级导出时,INCLUDE=SCHEMAS:<模式名>是没有效果的。例如,在SCHEMAS=SCOTT的导出命令里,再添加INCLUDE=SCHEMAS:HR是不会起作用的。
  2. 参数转义问题
    在命令行中使用像括号、引号这类特殊字符时需要进行转义,建议使用双引号来包裹复杂的参数。

五、INCLUDE参数使用案例

5.1 案例一:导出指定表的约束和索引

需求:导出MYDMDB数据库中employees表的约束和索引信息

./dexpdp USERID=SYSDBA/SYSDBA@192.168.234.10:5237 DIRECTORY=DM_BACKUP FILE=emp_metadata.dmp LOG=emp_metadata.log TABLES=MYDMDB.employees INCLUDE=\(CONSTRAINTS,INDEXES\)
5.2 案例二:导出所有以"TEMP_"开头的表及其数据

需求:导出所有名称以"TEMP_"起始的表以及它们的数据

./dexpdp USERID=SYSDBA/SYSDBA@192.168.234.10:5237 DIRECTORY=DM_BACKUP FILE=temp_tables.dmp LOG=temp_tables.log INCLUDE="TABLES:\"LIKE 'TEMP_%'\""
5.3 案例三:导出指定模式下的视图和序列

需求:导出MYDMDB模式当中的所有视图和序列

./dexpdp USERID=SYSDBA/SYSDBA@192.168.234.10:5237 DIRECTORY=DM_BACKUP FILE=mydmdb_views_seq.dmp LOG=mydmdb_views_seq.log SCHEMAS=MYDMDB INCLUDE=\(VIEWS,SEQUENCE\)

六、总结

INCLUDE参数是DM8数据库数据泵dexpdp工具中达成精准数据导出的重要手段。通过灵活运用INCLUDE参数的三种语法格式,结合过滤条件以及对象类型的组合,数据库管理员能够高效把控导出范围,满足各类复杂的业务需求。

相关文章

暂无评论

暂无评论...