ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 对比数据泵与原始导入导出工具(四)

对比数据泵与原始导入导出工具(四)

原创 Linux操作系统 作者:yangtingkun 时间:2009-01-19 23:29:34 0 删除 编辑

Oracle的导入导出工具EXP/IMP由来已久,大部分人对于使用这两个工具也都不陌生。Oracle10g开始推出的数据泵EXPDP/IMPDP,提供了导入导出的性能,也增加了导入导出的功能,但是由于使用时间不长,可能部分人对这个工具不太了解。一直打算写几篇文章,简单描述一下EXP/IMPEXPDP/IMPDP的差异。

对比数据泵与原始导入导出工具(一):http://yangtingkun.itpub.net/post/468/476017

对比数据泵与原始导入导出工具(二):http://yangtingkun.itpub.net/post/468/476060

对比数据泵与原始导入导出工具(三):http://yangtingkun.itpub.net/post/468/477335

这篇描述数据泵的INCLUDE参数。

 

 

和传统导入导出工具EXP/IMP相比,数据泵除了在性能方面有了很大的提高之外,另外一个优点就是功能变得十分的强大。对于EXP/IMP来说并不是一个完整意义上的逻辑备份工具,因为EXP/IMP存在一些比较致命的缺点。一个缺点就是数据的一致性问题,这会在后面的文章中描述。而另一个缺点就是EXP/IMP主要针对的是数据,或者说是表。

虽然在全库导出或者方案导出的时候,会包括数据库中所有的对象,但是EXP/IMP没有单独处理这些对象的能力。EXP/IMP能做到的不过是在导出导入的时候选择是否导出触发器、索引、统计信息和授权,而不能处理VIEWSEQUENCEPACKAGEPROCEDUREFUNCTIONSYNONYM等对象。更重要的是,无论是导出还是导入,都必须和表一起处理,EXP/IMP不能单独处理这些对象。

上一篇文章中已经提到了,在数据泵中,源信息是通过DBMS_METADATA包从数据字典中抽取出来的,以XML格式存放到数据泵中,这使得数据泵处理源数据的能力大大增强。

数据泵的INCLUDEEXCLUDE参数就可以替代IMP/EXP中的INDEXESGRANDSTRIGGERSCONSTRAINTSSTATISTICS参数。而且INCLUDEEXCLUDE可以支持数据库中任意类型的源数据的导出和导入,使得数据泵成为逻辑备份的合格工具。

E:\>expdp yangtk/yangtk directory=d_output dumpfile=meta.dp include=function include=sequence

Export: Release 10.2.0.1.0 - Production on 星期一, 19 1, 2009 19:01:25

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "YANGTK"."SYS_EXPORT_SCHEMA_02":  yangtk/******** directory=d_output dumpfile=meta.dp include=function include=sequence
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 0 KB
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02
的转储文件集为:
  E:\DMP\META.DP
作业 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已于 19:01:37 成功完成

数据泵的INCLUDE的功能远不止这么简单,使用INCLUDE可以指定一个类型下面具体对象的匹配规则:

E:\>expdp yangtk/yangtk directory=d_output dumpfile=table1.dp include=table:"""LIKE 'T%'""" include=package:"""IN ('PA_TEST', 'PA_TREE')"""

Export: Release 10.2.0.1.0 - Production on 星期一, 19 1, 2009 19:10:41

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "YANGTK"."SYS_EXPORT_SCHEMA_02":  yangtk/******** directory=d_output dumpfile=table1.dp include=table:"LIKE 'T%'" include=package:"IN ('PA_TEST', 'PA_TREE')"
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 17.93 MB
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. .
导出了 "YANGTK"."T_HASH"                           5.687 KB      30
. .
导出了 "YANGTK"."T_PART_INDEX"                     2.227 MB   57477
. .
导出了 "YANGTK"."T_INDEX_ORG"                      1.500 MB   40676
. .
导出了 "YANGTK"."T_PART":"P4"                      1.588 MB   50346
. .
导出了 "YANGTK"."T_RECORD"                         473.9 KB   40000
. .
导出了 "YANGTK"."T_PARTITION":"P2"                 44.82 KB    1541
. .
导出了 "YANGTK"."T"                                 5.25 KB       5
. .
导出了 "YANGTK"."TEST"                             6.101 KB       7
. .
导出了 "YANGTK"."T_255"                            82.89 KB       1
. .
导出了 "YANGTK"."T_256"                            83.19 KB       1
. .
导出了 "YANGTK"."T_C_1"                            5.234 KB       2
. .
导出了 "YANGTK"."T_C_2"                             5.25 KB       2
. .
导出了 "YANGTK"."T_LEVEL"                          6.234 KB       6
. .
导出了 "YANGTK"."T_LEVEL1"                         6.585 KB       8
. .
导出了 "YANGTK"."T_LOAD_SPACE"                     5.585 KB       5
. .
导出了 "YANGTK"."T_NO_EXISTS_BEFORE"               5.257 KB       1
. .
导出了 "YANGTK"."T_NUM"                            4.968 KB       2
. .
导出了 "YANGTK"."T_PART":"P1"                      6.742 KB      99
. .
导出了 "YANGTK"."T_PART":"P2"                      7.078 KB     100
. .
导出了 "YANGTK"."T_PART":"P3"                      7.359 KB     100
. .
导出了 "YANGTK"."T_PARTITION":"P1"                 6.804 KB      99
. .
导出了 "YANGTK"."T_PART_RANGE":"P1"                5.234 KB       1
. .
导出了 "YANGTK"."T_PART_RANGE":"P2"                5.234 KB       1
. .
导出了 "YANGTK"."T_PART_RANGE":"P3"                5.234 KB       1
. .
导出了 "YANGTK"."T_TREE"                           5.960 KB       9
. .
导出了 "YANGTK"."T_CHAR"                               0 KB       0
. .
导出了 "YANGTK"."T_FUNCTION"                           0 KB       0
. .
导出了 "YANGTK"."T_TAB"                                0 KB       0
. .
导出了 "YANGTK"."T_YANGTK"                             0 KB       0
已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02
的转储文件集为:
  E:\DMP\TABLE1.DP
作业 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已于 19:11:09 成功完成

比如上面这个例子中,在指定INCLUDE的时候,分别使用了INLIKE操作来匹配TYPE下的对象。

Oracle源数据信息是一种树形结构存储的,在导出或导入的过程中,可以将INCLUDE参数指定的类型可以是这个树形结构的任意一层,比如下面这个例子:

E:\>expdp yangtk/yangtk directory=d_output dumpfile=mv_log.dp include=table/materialized_view_log

Export: Release 10.2.0.1.0 - Production on 星期一, 19 1, 2009 19:18:36

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "YANGTK"."SYS_EXPORT_SCHEMA_02":  yangtk/******** directory=d_output dumpfile=mv_log.dp include=table/materialized_view_log
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 0 KB
处理对象类型 SCHEMA_EXPORT/TABLE/MATERIALIZED_VIEW_LOG
已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02
的转储文件集为:
  E:\DMP\MV_LOG.DP
作业 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已于 19:18:40 成功完成

对于INCLUDE对象可以指定的参数,可以参数视图DATABASE_EXPORT_OBJECTSSCHEMA_EXPORT_OBJECTSTABLE_EXPORT_OBJECTS

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-541501/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1954
  • 访问量
    10667999