当前位置:  数据库>oracle

exp和expdp 导出性能比较

    来源: 互联网  发布时间:2017-06-23

    本文导语: EXP常规模式、EXP直接路径模式和EXPDP三种方式导出的性能对比 1.首先是EXP的常规路径导出: exp linuxidc/zhejiang file=/data1/zj_regular.dmp buffer=20480000 常规EXP导出方式执行了1小时24分钟。 2.直接路径导出方式: exp linuxidc/zhejiang file=/data1/zj...

EXP常规模式、EXP直接路径模式和EXPDP三种方式导出的性能对比

1.首先是EXP的常规路径导出:

exp linuxidc/zhejiang file=/data1/zj_regular.dmp buffer=20480000

常规EXP导出方式执行了1小时24分钟。

2.直接路径导出方式:

exp linuxidc/zhejiang file=/data1/zj_direct.dmp buffer=20480000

recordlength=65535 direct=y

直接路径导入用时18分钟,比常规路径导出速度有一个明显的提高。

3.数据泵的导出速度。

expdp linuxidc/zhejiang dumpfile=zj_datapump.dp directory=d_test schemas=linuxidc

数据泵的导出时间仅用了14分钟,比直接路径导入方式还快了20%多。而且观察三个导出文件的大小可以发现,导出速度越快对应的文件也越小,其中数据泵的导出方式得到的文件要比EXP方式小将近1.5G。

IMP和IMPDP导入性能对比

1.IMP的导入速度:

imp linuxidc/zhejiang file=/data1/zj_regular.dmp full=y buffer=20480000 log=/data1/zj_regular.log

IMP导入花费了3小时17分钟,

2.IMPdp的导入速度:

impdp linuxidc/zhejiang DUMPFILE=zj_datapump.dp DIRECTORY=d_test FULL=y LOGFILE=zj_datapump.log

数据泵的导入操作居然花了3个小时8分钟的时间,和IMP的导入速度十分接近,看来并非所有情况下都像Oracle描述的那样,数据泵的导入比普通导入效率有大幅度的提高。

上面一篇文章的测试中发现IMPDP的导入速度和IMP导入速度相差无几。而Oracle在介绍数据泵的时候,提到IMPDP的导入速度最高是IMP的10倍。不过好在IMPDP还是可以优化调整的,那就是通过设置PARALLEL来提高IMPDP的并行度。

首先还是看一下CPU的数量:

SQL> show parameter cpu

由于数据库服务器的CPU个数为2,下面尝试设置PARALLEL为2来进行导入

impdp linuxidc/zhejiang DUMPFILE=zj_datapump.dp DIRECTORY=d_test FULL=y LOGFILE=zj_datapump.log parallel=2

采用并行度为2的导入方式,发现速度果然提高了很多。并行度为1的导入速度是3小时8分钟,而现在用了不到2个半小时。

由于并行度设置不应该超过CPU数的2倍,因此尝试平行度3和4的导入,导入时间和并行度2十分接近。看来已经无法再使用通过提高并行度的方法来提高性能了。

1.先看直接导出的性能:

$ expdp linuxidc/zhejiang directory=d_test dumpfile=linuxidc.dp

整个导出操作大概用了14分半,

2.尝试使用并行度2进行导出,这时仍然设置一个导出的数据文件:

$ expdp linuxidc/zhejiang directory=d_test dumpfile=linuxidc_p2_1file.dp parallel=2

整个导入过程不到14分钟,不过这个性能的提升实在不是很明显。不过这是有原因的,由于设置了并行度,两个进程在同时执行导出操作,但是二者要将导出的数据写入同一个数据文件中,因此必然会导致资源的争用

3.仍然使用并行度2,但是同时设置两个数据文件再次检查导出性能:

$ expdp linuxidc/zhejiang directory=d_test dumpfile=linuxidc_p2_2file1.dp,linuxidc_p2_2file2.dp parallel=2

这次导出仅仅用了10分半,导出的效率大大的提高。

4.测试一下并行度4,分别导出到4个数据文件中:

用了9分钟整导出完成,设置成并行度4仍然可以获得一定的性能提升,但是并不明显了,这主要是由于整个性能的瓶颈已经不是单个进程的处理能力,多半性能的瓶颈已经变成了磁盘IO瓶颈,此时单单靠增加并行度已经无法明显提升性能了。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.lang类strictmath的类成员方法: exp定义及介绍
  • shell执行exp问题
  • java命名空间java.lang类math的类成员方法: exp定义及介绍
  • 请问怎样才能将 String curOp=exp.indexOf(i) 的右边转化成String?
  • 请教:Linux下编译c代码,运行程序时出现undefined symbol exp
  • Oracle数据库EXP/IMP版本的支持列表集合[图文]
  • 用crontabl自动执行exp为何出错?
  • Oracle 管道 解决Exp/Imp大量数据处理问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3