Oracle11gr2数据泵新特性(一)

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

这一篇介绍数据泵的Legacy模式。

 

 

11.2中推出的这个功能主要是EXP/IMP工具要逐渐地推出历史舞台了。虽然无论从功能上还是从性能上,数据泵导入导出都要优于传统的导出导入工具EXP/IMP,但是如果用户包含了大量的脚本调用EXP,那么全部迁移到EXPDP方式就会非常麻烦。

而数据库的LEGACY模式就是为了能将传统的导出、导入方式平滑的迁移到数据泵方式下。

[oracle@bjtest ~]$ expdp yangtk/yangtk file=t.dmp

Export: Release 11.2.0.1.0 - Production on 星期日 9 6 22:32:43 2009

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

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
由于以下参数, 旧有模式处于活动状态:
旧有模式参数: "file=t.dmp" 位置: Command Line, 替换为: "dumpfile=t.dmp"
旧有模式设置了 reuse_dumpfiles=true 参数。
旧有模式设置了 nologfile=true 参数。
启动 "YANGTK"."SYS_EXPORT_SCHEMA_01":  yangtk/******** dumpfile=t.dmp reuse_dumpfiles=true nologfile=true
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 4 MB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 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
. .
导出了 "YANGTK"."T"                                2.886 MB   71968
已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_01
的转储文件集为:
  /data/oracle/admin/test112/dpdump/t.dmp
作业 "YANGTK"."SYS_EXPORT_SCHEMA_01" 已于 22:33:25 成功完成

可以看到,FILEEXP的参数,由于指定了EXP的——参数,EXPDP自动变成了Legacy模式,为了保持和exp工具完全相同的导出效果,因此expdp使用了DUMPFILE指定文件名称,并指定reuse_dumpfiles参数和nologfile参数。

需要说明的是,虽然expdp支持exp的参数,但是导出仍然是按照EXPDP方式进行的,导出文件也是存放在数据库服务器上。而且EXPDP无法导出EXP格式的文件,IMPDP无法使用EXP导出的文件,同样EXPDPLEGACY方式导出的文件也无法供IMP使用。

还要注意,当前没有使用DIRECTORY参数,不过这个参数还是必须的,否则就要使用默认值DATA_PUMP_DIR,如果用户没有DATA_PUMP_DIR的访问权限,就会报错。当然不过不想通过参数的方式指定DIRECTORY,还可以设置环境变量DATA_PUMP_DIR的值。

在导出的Legacy方式下,也支持各种数据泵的参数。而对于一些没有意义传统参数,比如buffer,则会自动被数据泵所忽略。

最后看一个复杂一点的例子:

SQL> conn yangtk/yangtk
已连接。
SQL> create directory d_output as '/home/oracle';    

目录已创建。

SQL> exit
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
断开
[oracle@bjtest ~]$ export DATA_PUMP_DIR=d_output
[oracle@bjtest ~]$ expdp yangtk/yangtk file=t.dp tables=t buffer=20480000 compress=n grants=n

Export: Release 11.2.0.1.0 - Production on 星期一 9 7 00:05:31 2009

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

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
由于以下参数, 旧有模式处于活动状态:
忽略旧有模式参数: "buffer=20480000" 位置: Command Line
忽略旧有模式参数: "compress=FALSE" 位置: Command Line
旧有模式参数: "file=t.dp" 位置: Command Line, 替换为: "dumpfile=D_OUTPUT:t.dp"
数据库目录对象 "D_OUTPUT" 已添加到文件说明: "t.dp"
旧有模式参数: "grants=FALSE" 位置: Command Line, 替换为: "exclude=grant"
旧有模式设置了 reuse_dumpfiles=true 参数。
旧有模式设置了 nologfile=true 参数。
数据库目录对象已默认设置为: "d_output"
启动 "YANGTK"."SYS_EXPORT_TABLE_01":  yangtk/******** dumpfile=D_OUTPUT:t.dp tables=t exclude=grant reuse_dumpfiles=true nologfile=true
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 4 MB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
. .
导出了 "YANGTK"."T"                                2.886 MB   71968
已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_TABLE_01"
******************************************************************************
YANGTK.SYS_EXPORT_TABLE_01
的转储文件集为:
  /home/oracle/t.dp
作业 "YANGTK"."SYS_EXPORT_TABLE_01" 已于 00:05:38 成功完成

再看一个混和IMPIMPDP参数的例子:

[oracle@bjtest ~]$ impdp yangtk/yangtk file=t.dp buffer=2048000 ignore=y directory=d_output content=data_only

Import: Release 11.2.0.1.0 - Production on 星期一 9 7 00:21:14 2009

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

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
由于以下参数, 旧有模式处于活动状态:
忽略旧有模式参数: "buffer=2048000" 位置: Command Line
旧有模式参数: "file=t.dp" 位置: Command Line, 替换为: "dumpfile=t.dp"
旧有模式参数: "ignore=TRUE" 位置: Command Line, 替换为: "table_exists_action=append"
已成功加载/卸载了主表 "YANGTK"."SYS_IMPORT_FULL_01"
启动 "YANGTK"."SYS_IMPORT_FULL_01":  yangtk/******** dumpfile=t.dp table_exists_action=append directory=d_output content=data_only
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. .
导入了 "YANGTK"."T"                                2.886 MB   71968
作业 "YANGTK"."SYS_IMPORT_FULL_01" 已于 00:21:19 成功完成

如果通过连接的方式,可以确保所有的exp备份脚本不需要修改就可以顺利运行:

[oracle@bjtest ~]$ ln -s $ORACLE_HOME/bin/expdp exp
[oracle@bjtest ~]$ ls -l exp
lrwxrwxrwx 1 oracle oinstall 35 Sep  7 00:22 exp -> /data/oracle/product/11.2/bin/expdp
[oracle@bjtest ~]$ ./exp yangtk/yangtk file=t.dp content=metadata_only

Export: Release 11.2.0.1.0 - Production on 星期一 9 7 00:23:41 2009

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

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
由于以下参数, 旧有模式处于活动状态:
旧有模式参数: "file=t.dp" 位置: Command Line, 替换为: "dumpfile=D_OUTPUT:t.dp"
数据库目录对象 "D_OUTPUT" 已添加到文件说明: "t.dp"
旧有模式设置了 reuse_dumpfiles=true 参数。
旧有模式设置了 nologfile=true 参数。
数据库目录对象已默认设置为: "d_output"
启动 "YANGTK"."SYS_EXPORT_SCHEMA_01":  yangtk/******** dumpfile=D_OUTPUT:t.dp content=metadata_only reuse_dumpfiles=true nologfile=true
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 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
已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_01
的转储文件集为:
  /home/oracle/t.dp
作业 "YANGTK"."SYS_EXPORT_SCHEMA_01" 已于 00:24:23 成功完成

 

 

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

转载于:http://blog.itpub.net/4227/viewspace-614130/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值