前一段时间在一次迁移中同时用到了数据泵和EXP,发现二者效率的差别还是相当大的。这里通过一个例子简单比较一下。

这篇文章同时使用直接路径和并行来加速数据泵导入。



上一篇结束了数据泵导入在非归档模式下获得大幅的性能提高,当然IMP也能从非归档模式中得到性能的提升,当前环境下,imp导入的例子:

bash-2.03$ imp zhejiang/zhejiang file=/data1/backup/zhejiang_regular.dmp full=y buffer=20480000 log=/data1/zj_regular.log


Import: Release10.2.0.3.0 - Production on星期三4月22 21:36:51 2009


Copyright (c) 1982, 2005, Oracle.  All rights reserved.



连接到: Oracle Database10gEnterprise Edition Release10.2.0.3.0 - 64bit Production


With the Partitioning, Real Application Clusters, OLAP and Data Mining options


经由直接路径由EXPORT:V10.02.01创建的导出文件


已经完成ZHS16GBK字符集和AL16UTF16 NCHAR字符集中的导入


.正在将ZHEJIANG的对象导入到ZHEJIANG


. .正在导入表                             "A"导入了        1216行


. .正在导入表               "ASS_BBS_ARTICLE"导入了           0行


. .正在导入表               "ASS_BBS_CATALOG"导入了           0行


.


.


.


. .正在导入表             "Z_INVITE_COMM_PUB"导入了         147行


即将启用约束条件...


成功终止导入,但出现警告。


bash-2.03$ ls -l /data1/zj_regular.log


-rw-r--r--   1 oracle   oinstall   41303 Apr 23 00:33 /data1/zj_regular.log


在非归档模式下,常规导入方法用了2小时57左右,比归档模式下的3小时17分提高了20分钟。

而上一篇文章中测试的数据泵提高了46分钟,显然数据泵与常规导入相比,使用了直接路径的导入方式,更能利用非归档的优势。

在前面的文章中提到过使用并行能极大的提高导入性能,而上一篇文章也展示了数据泵的直接路径方式的导入性能,下面将两个方面结合在一起,检查数据泵的导入性能。

首先仍然是导出,为了导入可以使用并行,在导出的时候也使用相同的并行度:

bash-2.03$ expdp zhejiang/zhejiang dumpfile=zhejiang_p1.dp, zhejiang_p2.dp directory=d_test parallel=2


Export: Release10.2.0.3.0 - 64bit Production on星期三, 22 4月, 2009 18:41:45


Copyright (c) 2003, 2005, Oracle.  All rights reserved.


连接到: Oracle Database10gEnterprise Edition Release10.2.0.3.0 - 64bit Production


With the Partitioning, Real Application Clusters, OLAP and Data Mining options


启动"ZHEJIANG"."SYS_EXPORT_SCHEMA_01":  zhejiang/******** dumpfile=zhejiang_p1.dp, zhejiang_p2.dp directory=d_test parallel=2


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


处理对象类型SCHEMA_EXPORT/TABLE/TABLE_DATA


使用BLOCKS方法的总估计: 22.69 GB


处理对象类型SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA


处理对象类型SCHEMA_EXPORT/SYNONYM/SYNONYM


处理对象类型SCHEMA_EXPORT/TYPE/TYPE_SPEC


处理对象类型SCHEMA_EXPORT/DB_LINK


处理对象类型SCHEMA_EXPORT/SEQUENCE/SEQUENCE


处理对象类型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


处理对象类型SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC


处理对象类型SCHEMA_EXPORT/FUNCTION/FUNCTION


处理对象类型SCHEMA_EXPORT/PROCEDURE/PROCEDURE


处理对象类型SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC


处理对象类型SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION


处理对象类型SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE


处理对象类型SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY


处理对象类型SCHEMA_EXPORT/TYPE/TYPE_BODY


处理对象类型SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT


处理对象类型SCHEMA_EXPORT/TABLE/TRIGGER


处理对象类型SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX


处理对象类型SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS


处理对象类型SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS


. .导出了"ZHEJIANG"."ORD_HIT_COMM"                   3.255 GB 4176146行


. .导出了"ZHEJIANG"."CON_LIST_ITEM"                  4.505 MB    7985行


.


.


.


. .导出了"ZHEJIANG"."UNC_USER_NON"                       0 KB       0行


. .导出了"ZHEJIANG"."USR_USER_PLAT_ROLE"                 0 KB       0行


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


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


ZHEJIANG.SYS_EXPORT_SCHEMA_01的转储文件集为:


 /data1/backup/zhejiang_p1.dp


 /data1/backup/zhejiang_p2.dp


作业"ZHEJIANG"."SYS_EXPORT_SCHEMA_01"已于18:51:09成功完成


利用并行的导出,只用了10分钟不到。

下面删除浙江用户,重建浙江用户并授权:

SQL> drop userzhejiangcascade;


用户已删除。


SQL> create userzhejiangidentified byzhejiangdefault tablespacezhejiang;


用户已创建。


SQL> grant connect, resource tozhejiang;


授权成功。


SQL> grant create database link, create synonym, create view tozhejiang;


授权成功。


SQL> grant read, write on directory d_test tozhejiang;


授权成功。


执行导入操作,并设置并行度为2:

bash-2.03$ impdp zhejiang/zhejiang directory=d_test dumpfile=zhejiang_p1.dp, zhejiang_p2.dp parallel=2 logfile=zhejiang_p.log


Import: Release10.2.0.3.0 - 64bit Production on星期三, 22 4月, 2009 19:04:02


Copyright (c) 2003, 2005, Oracle.  All rights reserved.


连接到: Oracle Database10gEnterprise Edition Release10.2.0.3.0 - 64bit Production


With the Partitioning, Real Application Clusters, OLAP and Data Mining options


已成功加载/卸载了主表"ZHEJIANG"."SYS_IMPORT_FULL_01"


启动"ZHEJIANG"."SYS_IMPORT_FULL_01":  zhejiang/******** directory=d_test dumpfile=zhejiang_p1.dp, zhejiang_p2.dp parallel=2 logfile=zhejiang_p.log


处理对象类型SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA


处理对象类型SCHEMA_EXPORT/SYNONYM/SYNONYM


处理对象类型SCHEMA_EXPORT/TYPE/TYPE_SPEC


处理对象类型SCHEMA_EXPORT/DB_LINK


处理对象类型SCHEMA_EXPORT/SEQUENCE/SEQUENCE


处理对象类型SCHEMA_EXPORT/TABLE/TABLE


处理对象类型SCHEMA_EXPORT/TABLE/TABLE_DATA


. .导入了"ZHEJIANG"."ORD_ORDER_ITEM"                 1.890 GB 3226647行


. .导入了"ZHEJIANG"."CON_LIST_ITEM"                  4.505 MB    7985行


.


.


.


. .导入了"ZHEJIANG"."UNC_USER_NON"                       0 KB       0行


. .导入了"ZHEJIANG"."USR_USER_PLAT_ROLE"                 0 KB       0行


处理对象类型SCHEMA_EXPORT/TABLE/INDEX/INDEX


处理对象类型SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT


处理对象类型SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS


处理对象类型SCHEMA_EXPORT/TABLE/COMMENT


处理对象类型SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC


处理对象类型SCHEMA_EXPORT/FUNCTION/FUNCTION


处理对象类型SCHEMA_EXPORT/PROCEDURE/PROCEDURE


处理对象类型SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC


处理对象类型SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION


处理对象类型SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE


处理对象类型SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY


处理对象类型SCHEMA_EXPORT/TYPE/TYPE_BODY


处理对象类型SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT


处理对象类型SCHEMA_EXPORT/TABLE/TRIGGER


处理对象类型SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX


处理对象类型SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS


处理对象类型SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS


作业"ZHEJIANG"."SYS_IMPORT_FULL_01"已经完成,但是有34个错误(于20:58:34完成)


导入总用时1小时54分32秒,比不使用并行提高了将近30分钟,比非直接路径的并行导入也提高了35分钟左右。

因此优化数据泵的导入性能可以从并行和直接路径两个主要方面入手。


oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html