imp/exp impdp/expdp性能详细对比(2008-09-02 16:20:16)转载标签: imp/expimpdp/expdp比较杂谈 分类: Oracle-DBA
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
数据泵的导入(parallel参数)操作居然花了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瓶颈,此时单单靠增加并行度已经无法明显提升性能了。
分享到:
相关推荐
### Oracle 数据库备份工具 exp/imp 与 expdp/impdp 的对比及优化事项 #### 一、引言 在Oracle数据库管理中,备份与恢复是确保数据安全的关键环节之一。传统的exp/imp工具和现代的expdp/impdp工具分别代表了不同的...
1. **执行环境**:`EXP`和`IMP`是在客户端执行的工具,而`EXPDP`和`IMPDP`则在服务器端运行,减少了网络负载。 2. **性能**:数据泵的效率远高于传统工具,这主要得益于其服务器端执行、直接路径I/O以及并行处理的...
Oracle数据库的统计信息是优化器做出执行计划的重要依据,它包括了表的大小、分区信息、列的分布情况等。当面临数据库迁移、性能调整等情况时,...通过详细理解并实践这些操作,我们可以更好地管理和控制数据库的性能。
exp/imp 与 expdp/impdp 分析对比 ##### 1.1 exp/imp 模式和原理 **传统路径导出模式** - **定义**: 传统路径导出模式使用 SQL SELECT 语句从表中抽取数据。这些数据首先从磁盘读取到 SGA (System Global Area) ...
在IT领域,特别是对于数据库管理与维护方面,Oracle数据库因其高性能、稳定性及强大的功能集而备受青睐。本文将深入探讨如何利用Oracle的导入导出工具来实现数据库的移植过程。通过具体实例和技术细节的分析,帮助...
手册中详细介绍了两种常用的工具:`exp/imp` 和 `expdp/impdp`,并对其特点进行了对比: - **exp/imp**:这是一种较早推出的工具,支持在服务器端和客户端进行数据导出和导入。通过具体示例展示了如何使用这些...
**数据泵的方式进行数据的导入与导出(EXPDP&IMPDP)** 介绍了Oracle Data Pump工具的使用方法,该工具提供了一种高效的数据迁移手段。 **Oracle11g deferred_segment_creation参数** 解析了Oracle11g中关于...
- `AWR`(Automatic Workload Repository):自动工作负载存储库,提供数据库性能的快照对比。 - `ASH`(Active Session History):活动会话历史,实时监控数据库性能。 8. **实例管理**: - `STARTUP`:启动...
最后,"Oracle常用命令列表.txt"列出了在Oracle数据库操作中经常使用的命令,如SQL查询命令(SELECT、INSERT、UPDATE、DELETE)、数据库管理命令(ALTER DATABASE、CREATE TABLE)、数据导出导入(EXPDP/IMPDP)、...
5. **数据操作**:除了基本的SQL查询外,PLSQL Developer还提供了数据导入导出、数据对比、数据泵(expdp/impdp)操作等功能,方便数据的迁移和备份。 6. **报表和图表**:工具内置报表生成器,允许用户自定义报表...
- **问题描述**:当需要验证两个不同表(如 `test1` 和 `test2`)之间的数据一致性时,可以采用多种方法进行对比。 - **解决方案**: 1. **直接比较**:直接通过 SQL 查询来比较两个表中的记录。 2. **使用工具*...
在Oracle中,最常用的导入导出工具是`SQL*Loader`和`Data Pump`(也称为`expdp`和`impdp`)。SQL*Loader是一种快速的数据加载工具,适用于将大量数据从平面文件导入到数据库中。它支持各种数据格式,并可以通过控制...
1. 数据泵(EXPDP/IMPDP):Oracle的数据导出导入工具,用于备份和恢复数据。 2. RMAN(Recovery Manager):Oracle提供的备份和恢复管理工具,支持自动备份策略和恢复操作。 以上仅是《Oracle Database SQL ...
- **数据泵导出与导入工具(EXPDP/IMPDP)**:Oracle Data Pump提供高效的数据导入导出功能,支持大容量数据的快速迁移,并且可以控制元数据和数据的粒度。 - **拖出表空间(CTAS/ALTER TABLE...EXCHANGE PARTITION...
4. **数据迁移**:采用Oracle的数据导出导入工具(如EXPDP/IMPDP)或数据管道(Data Pump)进行数据迁移。在迁移过程中,利用双机镜像的特性,可以在不停止旧系统服务的情况下,先将数据导出到临时存储,然后在新...
此外,数据泵导出(expdp)和导入(impdp)是Oracle DataPump工具集的一部分,它比传统的imp/exp更为强大和高效,支持并行操作,并提供更好的压缩和网络传输功能。 Oracle的物理备份与恢复涉及对数据库文件进行操作...
- Oracle提供了`SQL*Loader`和`Data Pump`(expdp/impdp)工具进行大量数据的快速导入。SQL*Loader适用于简单的数据导入,而Data Pump更适合大规模的迁移。 - 如果是通过SQL脚本插入,可以使用Oracle的SQL ...
- **导入导出**:可以使用`EXPDP`和`IMPDP`工具导出临时表的定义,但不能导出数据。 3. **使用技巧**: - **数据处理**:在多表联接查询且涉及大量数据时,将大表拆分为小的临时表可以提高性能。 - **存储过程**...