Oracle的11gr2版本中,并没有对数据泵做出多大的改动,主要是增加了对原始版本参数的支持,并且去掉了一些小的限制。
这一篇介绍数据泵对表导出方式的改进。
在11gr1和以前的版本中,以表模式的导出有一个限制,所有导出的表必须处于同一个SCHEMA中,这使得备份不同的SCHEMA下的个别表变得很不方便:
bash-3.00$ expdp yangtk/yangtk directory=d_output dumpfile=t.dp tables=yangtk.t test.t
Export: Release11.1.0.6.0 - 64bit Production on星期二, 08 9月, 2009 0:40: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
^CUDE-00001:用户已请求取消当前的操作
bash-3.00$ expdp yangtk/yangtk directory=d_output dumpfile=t.dp tables=yangtk.t, test.t
Export: Release11.1.0.6.0 - 64bit Production on星期二, 08 9月, 2009 0:41:01
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
UDE-00012:表模式导出仅适用于一个方案中的对象
在11.2中,已经去掉了这个限制,因此只要拥有权限,就可以导出任何用户下的表对象:
[oracle@bjtest ~]$ expdp yangtk/yangtk directory=d_output dumpfile=t_two_onwer.dp tables=yangtk.t test.t
Export: Release11.2.0.1.0 - Production on星期二9月8 00:21:22 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_two_onwer.dp tables=yangtk.t test.t
正在使用BLOCKS方法进行估计...
处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA
使用BLOCKS方法的总估计: 8.125 MB
处理对象类型TABLE_EXPORT/TABLE/TABLE
. .导出了"YANGTK"."T" 5.766 MB 143936行
. .导出了"TEST"."T" 5 KB 1行
已成功加载/卸载了主表"YANGTK"."SYS_EXPORT_TABLE_01"
******************************************************************************
YANGTK.SYS_EXPORT_TABLE_01的转储文件集为:
/home/oracle/t_two_onwer.dp
作业"YANGTK"."SYS_EXPORT_TABLE_01"已于00:21:31成功完成
这虽然是个小改进,但是确实使数据泵的表模式导出变得方便很多。
oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html