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参数使用注意事项
- 与导出模式的关联
当采用TABLES表级导出或者SCHEMAS模式级导出时,INCLUDE=SCHEMAS:<模式名>
是没有效果的。例如,在SCHEMAS=SCOTT
的导出命令里,再添加INCLUDE=SCHEMAS:HR
是不会起作用的。 - 参数转义问题
在命令行中使用像括号、引号这类特殊字符时需要进行转义,建议使用双引号来包裹复杂的参数。
五、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参数的三种语法格式,结合过滤条件以及对象类型的组合,数据库管理员能够高效把控导出范围,满足各类复杂的业务需求。
相关文章
暂无评论...