今天小麦苗给大家分享的是12c数据泵新特性测试(关闭日志DISABLE_ARCHIVE_LOGGING+VIEWS_AS_TABLES选项导出视图)。
12c数据泵新特性测试(关闭日志DISABLE_ARCHIVE_LOGGING+VIEWS_AS_TABLES选项导出视图)
Data Pump 版本有了不少有用的改进,例如在导出时将视图转换为表,以及在导入时关闭日志记录等。
1.1 关闭redo日志的生成(TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y)
Data Pump中引入了新的TRANSFORM选项,这对于对象在导入期间提供了关闭重做生成的灵活性。当为TRANSFORM选项指定了DISABLE_ARCHIVE_LOGGING值,那么在整个导入期间,重做生成就会处于关闭状态。这一功能在导入大型表时缓解了压力,并且减少了过度的redo产生,从而加快了导入。这一属性还可应用到表以及索引。
以下案例演示了这一功能:
impdp directory=dpump dumpfile=abcd.dmp TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y logfile=abcd.log
1.2 将视图转换为表然后导出(VIEWS_AS_TABLES选项)
这是Data Pump中另外一个改进。有了VIEWS_AS_TABLES 选项,你就可以将视图数据载入表中。
以下案例演示了如何在导出过程中将视图数据载入到表中:
expdp directory=dpump views_as_tables=my_view:my_table dumpfile=abcd.dmp logfile=abcd.log
1.2.1 自己实验
expdp VIEWS_AS_TABLES选项可以将视图看做表并将其数据导出。
expdp system/lhr DIRECTORY=data_pump_dir DUMPFILE=expdp_vw.dmp LOGFILE=expdp_vw.log VIEWS_AS_TABLES=lhr.my_view
表数据准备:
create table lhr.my_tab1 (nr number, txt varchar2(10));
insert into lhr.my_tab1 values (1,'Line 1');
insert into lhr.my_tab1 values (2,'Line 2');
create table lhr.my_tab2 (nr number, col2 number, col3 varchar2(10));
insert into lhr.my_tab2 values (1,1,'c3_1');
insert into lhr.my_tab2 values (2,2,'c3_2');
commit;
create view lhr.my_view (nr, txt, col3) as
select t1.nr, t1.txt, t2.col3
from lhr.my_tab1 t1, lhr.my_tab2 t2
where t1.nr=t2.nr;
开始导出:
C:\Users\xiaomaimiao>expdp system/lhr DIRECTORY=data_pump_dir DUMPFILE=expdp_vw.dmp LOGFILE=expdp_vw.log VIEWS_AS_TABLES=lhr.my_view
Export: Release 12.1.0.2.0 - Production on 星期五 12月 16 16:31:49 2016
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
启动 "SYSTEM"."SYS_EXPORT_TABLE_01": system/******** DIRECTORY=data_pump_dir DUMPFILE=expdp_vw.dmp LOGFILE=expdp_vw.log VIEWS_AS_TABLES=lhr.my_view
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/VIEWS_AS_TABLES/TABLE_DATA
使用 BLOCKS 方法的总估计: 16 KB
处理对象类型 TABLE_EXPORT/VIEWS_AS_TABLES/TABLE
. . 导出了 "LHR"."MY_VIEW" 5.929 KB 2 行
已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_TABLE_01"
******************************************************************************
SYSTEM.SYS_EXPORT_TABLE_01 的转储文件集为:
E:\APP\ORACLE\ADMIN\LHRDB12C\DPDUMP\EXPDP_VW.DMP
作业 "SYSTEM"."SYS_EXPORT_TABLE_01" 已于 星期五 12月 16 16:32:36 2016 elapsed 0 00:00:31 成功完成
查看其DDL语句:
C:\Users\xiaomaimiao>impdp system/lhr DIRECTORY=data_pump_dir DUMPFILE=expdp_vw.dmp LOGFILE=impdp_vw.log sqlfile=a.txt
Import: Release 12.1.0.2.0 - Production on 星期五 12月 16 16:35:14 2016
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_SQL_FILE_FULL_01"
启动 "SYSTEM"."SYS_SQL_FILE_FULL_01": system/******** DIRECTORY=data_pump_dir DUMPFILE=expdp_vw.dmp LOGFILE=impdp_vw.log sqlfile=a.txt
处理对象类型 TABLE_EXPORT/VIEWS_AS_TABLES/TABLE
作业 "SYSTEM"."SYS_SQL_FILE_FULL_01" 已于 星期五 12月 16 16:35:26 2016 elapsed 0 00:00:10 成功完成
DDL语句内容:
-- CONNECT SYSTEM
ALTER SESSION SET EVENTS '10150 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10904 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '25475 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10407 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10851 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '22830 TRACE NAME CONTEXT FOREVER, LEVEL 192 ';
-- new object type path: TABLE_EXPORT/VIEWS_AS_TABLES/TABLE
CREATE TABLE "LHR"."MY_VIEW"
( "NR" NUMBER,
"TXT" VARCHAR2(10 BYTE),
"COL3" VARCHAR2(10 BYTE)
) SEGMENT CREATION DEFERRED
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
TABLESPACE "USERS" ;
进行导入:
C:\Users\xiaomaimiao>sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on 星期五 12月 16 16:37:03 2016
Copyright (c) 1982, 2014, Oracle. All rights reserved.
连接到:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> create user lhr01 identified by lhr;
用户已创建。
SQL> grant dba to lhr01;
授权成功。
SQL> exit
从 Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 断开
C:\Users\xiaomaimiao>impdp system/lhr DIRECTORY=data_pump_dir DUMPFILE=expdp_vw.dmp LOGFILE=impdp_vw.log remap_schema=lhr:lhr01
Import: Release 12.1.0.2.0 - Production on 星期五 12月 16 16:39:49 2016
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_02"
启动 "SYSTEM"."SYS_IMPORT_FULL_02": system/******** DIRECTORY=data_pump_dir DUMPFILE=expdp_vw.dmp LOGFILE=impdp_vw.log remap_schema=lhr:lhr01
处理对象类型 TABLE_EXPORT/VIEWS_AS_TABLES/TABLE
处理对象类型 TABLE_EXPORT/VIEWS_AS_TABLES/TABLE_DATA
. . 导入了 "LHR01"."MY_VIEW" 5.929 KB 2 行
作业 "SYSTEM"."SYS_IMPORT_FULL_02" 已于 星期五 12月 16 16:39:57 2016 elapsed 0 00:00:06 成功完成
注意:本文内容太多,公众号有2W字数限制,全文可以参考http://blog.itpub.net/26736162/viewspace-2136339/或者去小麦苗的云盘下载pdf版本阅读,谢谢大家的理解。
DB笔试面试历史连接
http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w |
---|
About Me:小麦苗
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 版权所有,欢迎分享本文,转载请保留出处