Oracle的11gr2版本中,并没有对数据泵做出多大的改动,主要是增加了对原始版本参数的支持,并且去掉了一些小的限制。

这一篇介绍数据泵对表模糊匹配导出的改进。


Oracle的数据泵支持表名的模糊匹配方式导出,比如:

bash-3.00$ expdp yangtk/yangtk directory=d_output dumpfile=t_test.dp tables=t%


Export: Release11.1.0.6.0 - 64bit Production on星期二, 08 9月, 2009 19:14:21


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


连接到: Oracle Database11gEnterprise Edition Release11.1.0.6.0 - 64bit Production


With the Partitioning, OLAP, Data Mining and Real Application Testing options


启动"YANGTK"."SYS_EXPORT_TABLE_01":  yangtk/******** directory=d_output dumpfile=t_test.dp tables=t%


正在使用BLOCKS方法进行估计...


处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA


使用BLOCKS方法的总估计: 132.3 MB


处理对象类型TABLE_EXPORT/TABLE/TABLE


处理对象类型TABLE_EXPORT/TABLE/INDEX/INDEX


处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT


处理对象类型TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS


处理对象类型TABLE_EXPORT/TABLE/TRIGGER


处理对象类型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS


. .导出了"YANGTK"."T_BIG_TABLE"                      82.89 MB  830304行


. .导出了"YANGTK"."T_BACKUP"                         6.957 MB   68370行


. .导出了"YANGTK"."T_CONS2"                          2.193 MB   69248行


. .导出了"YANGTK"."T_LIST_LIST":"P3"."P3_SP2"        2.984 MB   28139行


. .导出了"YANGTK"."T"                                2.101 MB   66121行


. .导出了"YANGTK"."T_LIST_LIST":"P1"."P1_SP3"        2.468 MB   24999行


. .导出了"YANGTK"."T_DATE"                           1.112 MB   68916行


. .导出了"YANGTK"."T_TEST2"                          604.2 KB   69375行


. .导出了"YANGTK"."T_TEST3"                          604.2 KB   69375行


. .导出了"YANGTK"."T_TEST1"                          604.2 KB   69375行


. .导出了"YANGTK"."T_LIST_LIST":"P3"."P3_SP3"        651.5 KB    6604行


. .导出了"YANGTK"."T_LIST_LIST":"P3"."P3_SP1"        393.6 KB    3911行


. .导出了"YANGTK"."T_LIST_LIST":"P1"."P1_SP2"        311.4 KB    3475行


. .导出了"YANGTK"."T_LONGRAW_NEW"                    5.460 KB       1行


. .导出了"YANGTK"."T_LIST_LIST":"P1"."P1_SP1"        203.8 KB    2145行


. .导出了"YANGTK"."T_CONS"                           5.679 KB      17行


. .导出了"YANGTK"."TT"                               5.843 KB      28行


. .导出了"YANGTK"."T_ABC"                            5.414 KB       1行


. .导出了"YANGTK"."T_ENCRYPTION"                     5.437 KB       1行


. .导出了"YANGTK"."T_FLASH_TRANS"                    5.445 KB       4行


. .导出了"YANGTK"."T_LIST_LIST":"P2"."P2_SP1"        16.35 KB      63行


. .导出了"YANGTK"."T_LIST_LIST":"P2"."P2_SP3"        16.28 KB      57行


. .导出了"YANGTK"."T_LONGRAW"                        5.445 KB       1行


. .导出了"YANGTK"."T_PART":"P1"                      5.617 KB       9行


. .导出了"YANGTK"."T_PART":"P2"                      5.617 KB      10行


. .导出了"YANGTK"."T_PART":"P3"                      7.445 KB      85行


. .导出了"YANGTK"."T_PART_INTERVAL":"P1"             5.421 KB       1行


. .导出了"YANGTK"."T_PART_INTERVAL":"SYS_P43"        5.421 KB       1行


. .导出了"YANGTK"."T_PART_INTERVAL":"SYS_P44"        5.421 KB       1行


. .导出了"YANGTK"."T_PART_P1"                        5.625 KB       9行


. .导出了"YANGTK"."T_PART_P2"                        5.625 KB      10行


. .导出了"YANGTK"."T_PART_P3"                        7.453 KB      85行


. .导出了"YANGTK"."T_PRI"                            5.156 KB      22行


. .导出了"YANGTK"."T_PRIMARY"                        5.421 KB       1行


. .导出了"YANGTK"."T_UPDATE"                         5.820 KB       2行


. .导出了"YANGTK"."T_INDEX_ORG"                          0 KB       0行


. .导出了"YANGTK"."T_LIST_LIST":"P2"."P2_SP2"            0 KB       0行


. .导出了"YANGTK"."T_TAB1"                               0 KB       0行


. .导出了"YANGTK"."T_TABLE"                              0 KB       0行


. .导出了"YANGTK"."T_VAR"                                0 KB       0行


已成功加载/卸载了主表"YANGTK"."SYS_EXPORT_TABLE_01"


******************************************************************************


YANGTK.SYS_EXPORT_TABLE_01的转储文件集为:


 /export/home/oracle/t_test.dp


作业"YANGTK"."SYS_EXPORT_TABLE_01"已于19:16:03成功完成


但是在11gr1和以前的版本中,只能指定一个模糊匹配的对象,否则导出就会报错,错误信息为:

bash-3.00$ expdp yangtk/yangtk directory=d_output dumpfile=t_and_a.dp tables=a%, t%


Export: Release11.1.0.6.0 - 64bit Production on星期二, 08 9月, 2009 19:16:36


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


连接到: Oracle Database11gEnterprise Edition Release11.1.0.6.0 - 64bit Production


With the Partitioning, OLAP, Data Mining and Real Application Testing options


启动"YANGTK"."SYS_EXPORT_TABLE_01":  yangtk/******** directory=d_output dumpfile=t_and_a.dp tables=a%, t%


正在使用BLOCKS方法进行估计...


处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA


使用BLOCKS方法的总估计: 0 KB


ORA-39166:找不到对象T%。


ORA-39166:找不到对象A%。


ORA-31655:尚未为作业选择数据或元数据对象


作业"YANGTK"."SYS_EXPORT_TABLE_01"已经完成,但是有3个错误(于19:16:42完成)


而在11.2中,这个限制已经去掉了,用户可以指定多个模糊匹配的对象:

[oracle@bjtest ~]$ expdp yangtk/yangtk directory=d_output dumpfile=t_and_a.dp tables=a%, t%


Export: Release11.2.0.1.0 - Production on星期二9月8 19:13:17 2009


Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


连接到: Oracle Database11gEnterprise Edition Release11.2.0.1.0 - 64bit Production


With the Partitioning, OLAP, Data Mining and Real Application Testing options


启动"YANGTK"."SYS_EXPORT_TABLE_01":  yangtk/******** directory=d_output dumpfile=t_and_a.dp tables=a%, t%


正在使用BLOCKS方法进行估计...


处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA


使用BLOCKS方法的总估计: 17.12 MB


处理对象类型TABLE_EXPORT/TABLE/TABLE


. .导出了"YANGTK"."ABC"                              6.976 MB   72114行


. .导出了"YANGTK"."T"                                5.766 MB  143936行


. .导出了"YANGTK"."T1"                               5.007 KB       1行


已成功加载/卸载了主表"YANGTK"."SYS_EXPORT_TABLE_01"


******************************************************************************


YANGTK.SYS_EXPORT_TABLE_01的转储文件集为:


 /home/oracle/t_and_a.dp


作业"YANGTK"."SYS_EXPORT_TABLE_01"已于19:13:26成功完成



oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html