您的位置:首页 > 数据库 > Oracle

Oracle 11g r2数据泵新特性(五)

2013-05-20 16:36 411 查看
Oracle的11gr2版本中,并没有对数据泵做出多大的改动,主要是增加了对原始版本参数的支持,并且去掉了一些小的限制。
这一篇介绍数据泵对版本的支持。

在11.2中,Oracle增加了版本的功能,而数据泵也支持对指定版本的导出,或将对象导入到指定的版本中。
SQL> conn yangtk/yangtk

已连接。

SQL> select sys_context('USERENV', 'CURRENT_EDITION_NAME') from dual;

SYS_CONTEXT('USERENV','CURRENT_EDITION_NAME')

-----------------------------------------------------------------------

ORA$BASE

SQL> select synonym_name

2 from user_synonyms;

SYNONYM_NAME

------------------------------

S_1

SQL> create edition my_edition;

版本已创建。

SQL> alter session set edition = my_edition;

会话已更改。

SQL> create synonym s_my_edition for t;

同义词已创建。

SQL> host

[oracle@bjtest ~]$ expdp yangtk/yangtk directory=d_output dumpfile=my_edition.dp include=synonym source_edition=my_edition

Export: Release11.2.0.1.0 - Production on星期一9月14 08:10:53 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_SCHEMA_01": yangtk/******** directory=d_output dumpfile=my_edition.dp include=synonym source_edition=my_edition

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

处理对象类型SCHEMA_EXPORT/TABLE/TABLE_DATA

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

处理对象类型SCHEMA_EXPORT/SYNONYM/SYNONYM

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

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

YANGTK.SYS_EXPORT_SCHEMA_01的转储文件集为:

/home/oracle/my_edition.dp

作业"YANGTK"."SYS_EXPORT_SCHEMA_01"已于08:11:02成功完成

[oracle@bjtest ~]$ impdp yangtk/yangtk directory=d_output dumpfile=my_edition.dp target_edition=ora\$base

Import: Release11.2.0.1.0 - Production on星期一9月14 08:13:08 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_IMPORT_FULL_01"

启动"YANGTK"."SYS_IMPORT_FULL_01": yangtk/******** directory=d_output dumpfile=my_edition.dp target_edition=ora$base

处理对象类型SCHEMA_EXPORT/SYNONYM/SYNONYM

ORA-31684:对象类型SYNONYM:"YANGTK"."S_1"已存在

作业"YANGTK"."SYS_IMPORT_FULL_01"已经完成,但是有1个错误(于08:13:11完成)

[oracle@bjtest ~]$ exit

exit

SQL> select synonym_name

2 from user_synonyms;

SYNONYM_NAME

------------------------------

S_1

S_MY_EDITION

由于版本MY_EDITION是ORA$BASE的子版本,因此可以看到父版本创建的同义词。导出MY_EDITION版本的同义词时,导出了S_1和S_MY_EDITION两个对象。
而导入到目标版本ORA$BASE时,由于S_1已经存在,因此只将同义词S_MY_EDITION导入到目标版本中。
数据泵的导出和导入版本功能,只是指定了导出或导入的版本对象,而在数据泵保存的文件中并没有保存版本对应的信息,因此在导入的时候,如果没有指定TARGET_EDITION,则Oracle就会导入到默认版本下,而和导出时指定的版本没有关系。

oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息