ITPub博客

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

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

原创 Linux操作系统 作者:yangtingkun 时间:2009-01-18 22:57:44 0 删除 编辑

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

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

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

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

 

 

在使用传统导入导出工具EXP/IMP的时候,大部分时候是表结果和数据一起导出,而有的时候只需要导出表结构,这是通过参数ROWS=N来实现的。这个参数在EXP/IMP过程中都可以指定。EXPIMPROWS参数经常会被用到,这里就不单独通过例子来演示了。

而在数据泵中,这个功能被CONTENT参数所取代。同样,CONTENT参数在EXPDP/IMPDP两个命令中都可以指定。其中CONTENT参数的ALL选项对应EXP/IMPROWS=Y,而CONTENT参数的METADATA_ONLY对应EXP/IMPROWS=N

E:\>expdp yangtk/yangtk directory=d_output dumpfile=yangtk_all.dp content=all

Export: Release 10.2.0.1.0 - Production on 星期日, 18 1, 2009 21:04:29

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=yangtk_all.dp content=all
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 18.56 MB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_SPEC
处理对象类型 SCHEMA_EXPORT/DB_LINK
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/CLUSTER/CLUSTER
处理对象类型 SCHEMA_EXPORT/CLUSTER/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_BODY
处理对象类型 SCHEMA_EXPORT/JAVA_SOURCE/JAVA_SOURCE
处理对象类型 SCHEMA_EXPORT/JAVA_CLASS/JAVA_CLASS
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 SCHEMA_EXPORT/MATERIALIZED_VIEW
. .
导出了 "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"."SYS_EXPORT_SCHEMA_01"             227.9 KB    1169
. .
导出了 "YANGTK"."CHAINED_ROWS"                     81.25 KB    2118
. .
导出了 "YANGTK"."T_PARTITION":"P2"                 44.82 KB    1541
. .
导出了 "YANGTK"."MV_T"                             5.601 KB      23
. .
导出了 "YANGTK"."MV_T_NUM"                         5.273 KB       1
. .
导出了 "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\YANGTK_ALL.DP
作业 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已于 21:05:27 成功完成


E:\>expdp yangtk/yangtk directory=d_output dumpfile=yangtk_meta.dp content=metadata_only

Export: Release 10.2.0.1.0 - Production on 星期日, 18 1, 2009 22:43:23

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=yangtk_meta.dp content=metadata_only
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_SPEC
处理对象类型 SCHEMA_EXPORT/DB_LINK
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/CLUSTER/CLUSTER
处理对象类型 SCHEMA_EXPORT/CLUSTER/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_BODY
处理对象类型 SCHEMA_EXPORT/JAVA_SOURCE/JAVA_SOURCE
处理对象类型 SCHEMA_EXPORT/JAVA_CLASS/JAVA_CLASS
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 SCHEMA_EXPORT/MATERIALIZED_VIEW
已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02
的转储文件集为:
  E:\DMP\YANGTK_META.DP
作业 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已于 22:43:39 成功完成

数据泵还能实现EXP/IMP所不能实现的功能,就是只导出数据,而不导出表结果即DATA_ONLY参数。

E:\>expdp yangtk/yangtk directory=d_output dumpfile=yangtk_data.dp content=data_only

Export: Release 10.2.0.1.0 - Production on 星期日, 18 1, 2009 22:46:33

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=yangtk_data.dp content=data_only
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 18.56 MB
. .
导出了 "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"."SYS_EXPORT_SCHEMA_01"             227.9 KB    1169
. .
导出了 "YANGTK"."CHAINED_ROWS"                     81.25 KB    2118
. .
导出了 "YANGTK"."T_PARTITION":"P2"                 44.82 KB    1541
. .
导出了 "YANGTK"."MV_T"                             5.601 KB      23
. .
导出了 "YANGTK"."MV_T_NUM"                         5.273 KB       1
. .
导出了 "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\YANGTK_DATA.DP
作业 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已于 22:46:52 成功完成

当然传统的EXP/IMP虽然不能实现不导出表结构,但是在IMP的时候使用IGNORE=Y参数,可以忽略表已经存在而导致的建表操作,从这个意义上讲,变相实现了只导入数据的功能。

在数据泵中,源信息是通过DBMS_METADATA包从数据字典中抽取出来的,以XML格式存放到数据泵中,也正是这个原因使得数据泵处理源数据的能力大大增强,这会在以后的文章中陆续介绍。

 

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

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

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10523830