[转]
EXP常规模式、EXP直接路径模式和EXPDP三种方式导出的性能对比
1.首先是EXP的常规路径导出:
exp zhejiang/zhejiang file=/data1/zj_regular.dmp buffer=20480000
常规EXP导出方式执行了1小时24分钟。
2.直接路径导出方式:
exp zhejiang/zhejiang file=/data1/zj_direct.dmp buffer=20480000
recordlength=65535 direct=y
直接路径导入用时18分钟,比常规路径导出速度有一个明显的提高。
3.数据泵的导出速度。
expdp zhejiang/zhejiang dumpfile=zj_datapump.dp directory=d_test schemas=zhejiang
数据泵的导出时间仅用了14分钟,比直接路径导入方式还快了20%多。而且观察三个导出文件的大小可以发现,导出速度越快对应的文件也越小,其中数据泵的导出方式得到的文件要比EXP方式小将近1.5G。
IMP和IMPDP导入性能对比
1.IMP的导入速度:
imp zhejiang/zhejiang file=/data1/zj_regular.dmp full=y buffer=20480000 log=/data1/zj_regular.log
IMP导入花费了3小时17分钟,
2.IMPdp的导入速度:
impdp zhejiang/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 zhejiang/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 zhejiang/zhejiang directory=d_test dumpfile=zhejiang.dp
整个导出操作大概用了14分半,
2.尝试使用并行度2进行导出,这时仍然设置一个导出的数据文件:
$ expdp zhejiang/zhejiang directory=d_test dumpfile=zhejiang_p2_1file.dp parallel=2
整个导入过程不到14分钟,不过这个性能的提升实在不是很明显。不过这是有原因的,由于设置了并行度,两个进程在同时执行导出操作,但是二者要将导出的数据写入同一个数据文件中,因此必然会导致资源的争用
3.仍然使用并行度2,但是同时设置两个数据文件再次检查导出性能:
$ expdp zhejiang/zhejiang directory=d_test dumpfile=zhejiang_p2_2file1.dp,zhejiang_p2_2file2.dp parallel=2
这次导出仅仅用了10分半,导出的效率大大的提高。
4.测试一下并行度4,分别导出到4个数据文件中:
用了9分钟整导出完成,设置成并行度4仍然可以获得一定的性能提升,但是并不明显了,这主要是由于整个性能的瓶颈已经不是单个进程的处理能力,多半性能的瓶颈已经变成了磁盘IO瓶颈,此时单单靠增加并行度已经无法明显提升性能了。
分享到:
相关推荐
用exp 与expdp解决因生产环境实例数据太大而导出数据库不方便问题的方法
[原创]Oracle数据导入导出(另exp和expdp对比).docx
数据泵impdp与expdp命令详解 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和...IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件.
Centos7.6下oracle impdp导入和expdp导出,
oracle 11g R2 新增的特性,exp无法导出空表,可以通过expdp命令导出,具体在附件里。
Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
数据泵技术是Oracle ...imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。 对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用exp
oracle11g数据库导入导出: ①传统方式——exp(导出)和(imp)导入; ②数据泵方式——expdp导出和(impdp)导入; ③第三方工具——PL/sql Develpoer
oracle数据泵导出为低版本命令。 从11g导出为10g版本,经过多次测试没有问题,而且导出速度非常快。
3)IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。 数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式. 三、Expdp参数 ..........
oralce详细导入导出参数解释,详细解释了与imp,exp的区别
2、创建逻辑目录用于导出导入数据(目录一定要真实存在) create or replace directory out_dir as 'C:\out'; --out_dir(逻辑目录名,可以随便取) 3、也可以将这个逻辑目录授权给其他用户 grant read,write on ...
oracle数据库导入导出命令imp exp impdp expdp的使用详解,很有用!
介绍了oracle数据库中使用exp,expdp,imp,impdp导出导入数据主方法,适合刚接触oracle数据的同学了解下。共同学习。
Oracle expdp/exp dump备份文件恢复工具OraDumpReader可以直接读取查看oracle导出工具(包括exp和expdp)所产生的dump文件中的数据。 当这些dmp文件被病毒软件加密破坏后,仍可以通过扫描整个文件,找出剩余的数据。
使用exp导出Oracle11g数据库时,空表不会导出。【不要使用】 数据库导出(expdp命令) 在SSH上Sql代码 --切换oracle用户 su – oracle --创建备份数据库文件夹、注意此文件夹必须oracle用户能访问。 mkdir /home/...
内有expdp和exp两种导出方式的编码及设置说明。图文并茂,实机测试通过。原创作品!
该软件直接从oracle exp & expdp 结果转储文件中读取数据。 即使文件被恶意软件/勒索软件损坏或损坏,该软件仍然可以扫描整个文件,并找到数据的好部分。 IMP-00009 导出文件异常结束 IMP-00037 字符集标记未知 ORA-...
oracle 数据库expdp 和impdp 详细操作说明 针对imp、exp 做简要说明