Oracle12c中数据泵新特性之功能增强(expdp, impdp)

Oracle12c中数据泵新特性之功能增强(expdp, impdp)

Oracle的数据泵功能在10g中被引进。本文对数据泵在12c中的增强做一个概览。

1.   禁用日志选项(DISABLE_ARCHIVE_LOGGING)

Impdp的TRANSFORM参数已经扩展为包括DISABLE_ARCHIVE_LOGGING选项。该选项的默认值为 "N",不会影响日志行为。将该选项设置为"Y",这将会使表和索引在导入前将日指属性设置为NOLOGGING,从而导入期间减少相关日志的产生,导入后再将日志属性重置为LOGGING。

TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y

通过附上对象类型,可以把影响限定为特定对象类型(TABLE or INDEX)。

TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y:TABLE

TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y:INDEX

如下例所示。

$ impdp system/[email protected]=test_dir dumpfile=emp.dmp logfile=impdp_emp.log \

remap_schema=scott:test transform=disable_archive_logging:y

如果数据库运行在FORCE LOGGING模式下,DISABLE_ARCHIVE_LOGGING选项将没什么影响。

2.   LOGTIME参数

LOGTIME参数决定时间戳是否将包括在expdp和impdp功能的输出信息中。

LOGTIME=[NONE | STATUS |LOGFILE | ALL]

可用值如下。

1)     NONE :默认值,指示输出中不包括时间戳,输出和之前的版本相似。

2)     STATUS :时间戳包括在控制台输出中,但不会在日志文件中出现。

3)     LOGFILE:时间戳出现在日志文件中,但不会输出到控制台。

4)     ALL :时间戳出现在日志文件和控制台输出中。

如下例所示。

$ expdp scott/[email protected] tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.loglogtime=all

Export: Release 12.1.0.1.0 - Production onWed Nov 20 22:11:57 2013

Copyright (c) 1982, 2013, Oracle and/or itsaffiliates.  All rights reserved.

Connected to: Oracle Database 12c EnterpriseEdition Release 12.1.0.1.0 - 64bit Production

With the Partitioning, Oracle Label Security,OLAP, Advanced Analytics

and Real Application Testing options

20-NOV-13 22:12:09.312: Starting"SCOTT"."SYS_EXPORT_TABLE_01":  scott/********@pdb1 tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.log logtime=all

20-NOV-13 22:12:13.602: Estimate in progressusing BLOCKS method...

20-NOV-13 22:12:17.797: Processing objecttype TABLE_EXPORT/TABLE/TABLE_DATA

20-NOV-13 22:12:18.145: Total estimationusing BLOCKS method: 64 KB

20-NOV-13 22:12:30.583: Processing objecttype TABLE_EXPORT/TABLE/TABLE

20-NOV-13 22:12:33.649: Processing objecttype TABLE_EXPORT/TABLE/INDEX/INDEX

20-NOV-13 22:12:37.744: Processing objecttype TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

20-NOV-13 22:12:38.065: Processing objecttype TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

20-NOV-13 22:12:38.723: Processing objecttype TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT

20-NOV-13 22:12:41.052: Processing objecttype TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

20-NOV-13 22:12:41.337: Processing objecttype TABLE_EXPORT/TABLE/STATISTICS/MARKER

20-NOV-13 22:13:38.255: . . exported"SCOTT"."EMP"                                8.75 KB      14 rows

20-NOV-13 22:13:40.483: Master table"SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

20-NOV-13 22:13:40.507:******************************************************************************

20-NOV-13 22:13:40.518: Dump file set forSCOTT.SYS_EXPORT_TABLE_01 is:

20-NOV-13 22:13:40.545:   /home/oracle/emp.dmp

20-NOV-13 22:13:40.677: Job"SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at WedNov 20 22:13:40 2013 elapsed 0 00:01:36

$

3.   像表一样导出视图

VIEWS_AS_TABLES参数允许把视图当成表导出。表结构匹配视图列,视图查询结果对应表数据。

VIEWS_AS_TABLES=[schema_name.]view_name[:table_name],...

如下例所示。

CONN scott/[email protected]

CREATE VIEW emp_v AS

SELECT * FROM emp;

用VIEWS_AS_TABLES参数导出视图。

$ expdp scott/tiger views_as_tables=scott.emp_vdirectory=test_dir dumpfile=emp_v.dmp logfile=expdp_emp_v.log

Expdp默认会创建一个临时表来作为视图的拷贝,但不包含数据,只是为导出提供一个元数据源。此外,也可以确定一个结构合适的表来代替。但这也许只有在只读库上才有意义。

4.   导入时改变表压缩

TRANSFORM参数的TABLE_COMPRESSION_CLAUSE子句允许表导入过程中动态改变表的压缩特性。

TRANSFORM=TABLE_COMPRESSION_CLAUSE:[NONE |compression_clause]

TABLE_COMPRESSION_CLAUSE参数的可选值如下。

1)     NONE :漏掉表压缩子句,表继承表空间的压缩属性。

2)     NOCOMPRESS:禁用表压缩。

3)     COMPRESS:开启基本表压缩。

4)     ROW STORE COMPRESSBASIC :和COMPRESS一样。

5)     ROW STORE COMPRESSADVANCED :开启高级压缩,也被称为OLTP压缩。

6)     COLUMN STORECOMPRESS FOR QUERY :Exadata和ZFS存储配置中可用的混合列压缩(HCC)。

7)     COLUMN STORECOMPRESS FOR ARCHIVE :Exadata和ZFS存储配置中可用的混合列压缩。

包括空格的压缩子句需要用单引号或双引号括起来。

如下例所示。

$ impdp system/[email protected]=test_dir dumpfile=emp.dmp logfile=impdp_emp.log \

remap_schema=scott:test transform=table_compression_clause:compress

5.   导入时改变表的LOB存储

TRANFORM参数的LOB_STORAGE子句使得在进行非可传输导入操作时改变表的压缩特性。

TRANSFORM=LOB_STORAGE:[SECUREFILE | BASICFILE| DEFAULT | NO_CHANGE]

LOB_STORAGE子句可以为如下值。

1)     SECUREFILE :LOB数据存储为SecureFiles。

2)     BASICFILE :LOB数据存储为BasicFiles。

3)     DEFAULT :LOB数据的存储由数据库自行决定。

4)     NO_CHANGE :LOB数据的存储和原来的对象一样。

举例如下。

$ impdp system/[email protected]=test_dir dumpfile=lob_table.dmp logfile=impdp_lob_table.log \

transform=lob_storage:securefile

6.   导出文件压缩选项

作为高级压缩选项的一部分,你可以确定COMPRESSION_ALGORITHM参数以确定导出文件的压缩级别。这和先前讨论的表压缩没关系。

COMPRESSION_ALGORITHM=[BASIC | LOW | MEDIUM |HIGH]

可用值如下。

1)     BASIC :和先前版本的压缩算法一样。提供很好的压缩,但对性能影响不大。

2)     LOW :用于降低CPU消耗比压缩率更重要的场景。

3)     MEDIUM :推荐使用的选项。和BASIC特性类似,但用了不同的算法。

4)     HIGH:最大限度压缩,但会消耗更多CPU。

举例如下。

$ expdp scott/tiger tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.log \

compression=all compression_algorithm=medium

7.   多宿主选项支持(CDB和PDB)

Oracle12c引进了多宿主选项,允许多个可插拔数据库(PDBs)存在于一个容器数据库(CDB)。将数据泵用于PDB和用于非CDB数据库没太大差别。

从11.2.0.2库以FULL选项导出的数据可以导入一个新PDB中,这和之前的完全导入一样,但会有些限制。

8.   审计命令

通过创建审计策略,可以对Oracle 12c的数据泵作业进行审计。

CREATE AUDIT POLICY policy_name

ACTIONS COMPONENT=DATAPUMP [EXPORT | IMPORT | ALL];

当该策略用于用户时,用户的数据泵作业信息将被审计。如下策略会审计所有的数据泵操作。该策略被用于用户SCOTT。

CONN / AS SYSDBA

CREATE AUDIT POLICY aud_dp_plcy ACTIONSCOMPONENT=DATAPUMP ALL;

AUDIT POLICY aud_dp_plcy BY scott;

运行如下数据泵命令。

$ expdp scott/tiger tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.log

检查审计信息时,会发现该数据泵作业已被审计。

-- Flush audit information to disk.

EXECDBMS_AUDIT_MGMT.FLUSH_UNIFIED_AUDIT_TRAIL;

SET LINESIZE 200

COLUMN event_timestamp FORMAT A30

COLUMN dp_text_parameters1 FORMAT A30

COLUMN dp_boolean_parameters1 FORMAT A30

SELECT event_timestamp,

dp_text_parameters1,

dp_boolean_parameters1

FROM  unified_audit_trail

WHERE audit_type = ‘Datapump‘;

EVENT_TIMESTAMP               DP_TEXT_PARAMETERS1          DP_BOOLEAN_PARAMETERS1

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

14-DEC-13 09.47.40.098637 PM   MASTER TABLE:  "SCOTT"."SYS_EX MASTER_ONLY:FALSE, DATA_ONLY:

PORT_TABLE_01" , JOB_TYPE: EXP  FALSE, METADATA_ONLY: FALSE,

ORT, METADATA_JOB_MODE: TABLE_DUMPFILE_PRESENT: TRUE, JOB_RE

EXPORT, JOB VERSION: 12.1.0.0. STARTED:FALSE

0, ACCESS METHOD: AUTOMATIC, D

ATA OPTIONS: 0, DUMPER DIRECTO

RY: NULL REMOTE LINK: NULL, T

ABLE EXISTS: NULL, PARTITION O

PTIONS: NONE

SQL>

9.   加密口令增强

先前的版本中,数据泵加密口令需要在命令行输入ENCRYPTION_PASSWORD参数,这样很容易偷窥口令。

Oracle 12c中,ENCRYPTION_PWD_PROMPT参数可以加密但不要求在命令行输入口令,而是运行时提示用户输入口令,且命令不回显。

ENCRYPTION_PWD_PROMPT=[YES | NO]

举例如下。

$ expdp scott/tiger tables=empdirectory=test_dir dumpfile=emp.dmp logfile=expdp_emp.log \

encryption_pwd_prompt=yes

Export: Release 12.1.0.1.0 - Production onSat Dec 14 21:09:11 2013

Copyright (c) 1982, 2013, Oracle and/or itsaffiliates.  All rights reserved.

Connected to: Oracle Database 12c EnterpriseEdition Release 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

Encryption Password:

Starting"SCOTT"."SYS_EXPORT_TABLE_01":  scott/******** tables=emp directory=test_dir

dumpfile=emp.dmp logfile=expdp_emp.logencryption_pwd_prompt=yes

Estimate in progress using BLOCKS method...

Processing object typeTABLE_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 64 KB

Processing object typeTABLE_EXPORT/TABLE/TABLE

Processing object typeTABLE_EXPORT/TABLE/INDEX/INDEX

Processing object typeTABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

Processing object typeTABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

Processing object typeTABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT

Processing object typeTABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

Processing object typeTABLE_EXPORT/TABLE/STATISTICS/MARKER

Processing object typeTABLE_EXPORT/TABLE/POST_TABLE_ACTION

. . exported"SCOTT"."EMP"                               8.765 KB      14 rows

Master table"SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

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

Dump file set for SCOTT.SYS_EXPORT_TABLE_01is:

/tmp/emp.dmp

Job"SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at SatDec 14 21:09:55 2013 elapsed 0 00:00:41

$

10.        可传输数据库

现在,TRANSPORTABLE选项可以和 FULL选项一起使用来传输整个数据库。

$ expdp system/Password1 full=Ytransportable=always version=12 directory=TEMP_DIR \

dumpfile=orcl.dmp logfile=expdporcl.log

该方法也可以被用来升级数据库。

11.        其他增强

1)     数据泵支持扩展数据类型,但VERSION参数需要设置为12.1之后的版本。

2)     有域索引的LOB列现在可以充分里用直接路径加载的优势。

原文地址:https://www.cnblogs.com/yaoyangding/p/12048085.html

时间: 2025-01-10 17:22:11

Oracle12c中数据泵新特性之功能增强(expdp, impdp)的相关文章

VS2013中F#的新特性

为了更好的迎接新版本的到来,先看一下之前F#的特性. 1.为区分联合(discriminated unions)添加了命名域,使代码更加清晰. 2.用新数据的新特性,使矢量和矩阵编码更容易的工作 3.更强大的泛型算法的扩展 4.得到更好的调试支持,当你使用F #调试时,调试编译器和解释器选项. 5.当你使用LINQ扩展方法如select时,lambda表达式将使你的代码非常简浩. 6.使用.NET框架4.5.1和Windows商店简化版的库支持. 7.支持同时在当前和以前的版本的VisualSt

MVC中的其他新特性

MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句.默认的示例如下: @using BookStore @using Microsoft.Framework.Optio

解读ASP.NET 5 & MVC6系列(17):MVC中的其他新特性

原文:解读ASP.NET 5 & MVC6系列(17):MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句.默认的示例如下: @using BookStore @usi

VS2015 C#6.0 中的那些新特性

? VS2015 C#6.0 中的那些新特性 前言 ? ? ? VS2015在自己机器上确实是装好了,费了老劲了,想来体验一下跨平台的快感,结果被微软狠狠的来了一棒子了,装好了还是没什么用,应该还需要装Xarmain插件,配置一些参数吧,由于这块之前从未接触过,想了想还是先不把时间继续浪费在这里了,于是乎来体验一下新特性了. 本人个人博客原文链接地址为http://aehyok.com/Blog/Detail/66.html. ? ?本文参考http://roslyn.codeplex.com,

HTML5和CSS3中的交互新特性

当文章的标题是一副用photoshop制作的图片,那么势必在搜索引擎中无法搜索到.并且因为图片的体积不算小.可能在网速慢的的时候不得不耐心的等待图片的刷新. 所以.我们来谈谈有没有一种新的方法能够避免这些缺点. 什么是HTML5和CSS3 HTML和CSS并不难理解.HTML为构成网页的主要语言.通过这样的语言.我们能够向计算机说明网页格式.内容.显示效果等等.而CSS则是专门用来控制网页显示效果的语言. HTML 5的新特性 1. 新的内容标签 HTML4中的内容标签级别同样,无法区分各部分内

黑马程序员------Java中jdk1.5新特性

Java培训.Android培训.iOS培训..Net培训.期待与您交流! JDK1.5新特性: 为什么会出现新特性: 新的技术出现是为了解决老的问题,Java语言为了提高开发者的开发效率,对之前的某些不利于提高效率的技术进行改进. 静态导入: 静态导入:可以导入某个类下的静态方法,静态导入后,可以不写类名而直接使用此类下的静态方法. 语法:import static 包名.类名.静态方法 代码示例: package com.itheima.day1; /** * 静态导入 * @author

HTML5新特性新增功能

HTML5 现如今已经不是SGML的子集,主要是关于图像,位置,存储,多任务等功能的增加. 如:绘图canvas:用于媒介回放的video和audio元素:本地存储localStorage;语义化元素:表单控件等等新增的功能,都是HTML5新特性. 下面列举HTML5新特性详细说明: 一.新的文档类型  (New Doctype) 目前许多网页还在使用XHTML 1.0 并且要在第一行像这样声明文档类型: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1

ES2019 中的 JavaScript 新特性

JavaScript 从成立之初就已经走了很长一段路,提供了许多新的功能,这些功能是专门设计来使该语言更加人性化和提升效率.以下是我最近发现的一些有趣的JavaScript 新增内容.其中一些功能已在 Node,Chrome,Firefox 和 Safari 中可用,而其他功能仍处于建议阶段. Optional chaining (可选链) Optional chaining 可选链使用 ?. 操作符来表示,Optional Chaining 使我们能检查一个对象上面是否存在某属性.其它一些语言

SQL Server2012在软件开发中的一些新特性

官方给出了一大堆SQL2012相对于SQL2008R2的新特性,但是大多数对于普通开发人员来说都是浮云,根本用不到,下面就说说一些对于开发人员来说比较有用的新特性. 一.在SQL Server中终于也看到了类似的对象,只是在使用的语法上有一点点不一样.创建语法也是CREATE SEQUENCE,使用的时候需要使用NEXT VALUE FOR来取下一个值: 复制代码代码如下: CREATE SEQUENCE [dbo].[SQ_1]  AS [bigint] START WITH 1 INCREM