天天看点

12c数据泵新特性测试(关闭日志DISABLE_ARCHIVE_LOGGING+VIEWS_AS_TABLES选项导出视图)

今天小麦苗给大家分享的是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/

● 版权所有,欢迎分享本文,转载请保留出处