expdp和exp性能对比与原理分析

来源:互联网 发布:淘宝红马甲是什么样子 编辑:程序博客网 时间:2024/05/18 00:41

author:skate

time:2010-08-31


 

expdp的测试

 

1.单进程,两个导出文件

 

C:/Documents and Settings/Administrator>expdp 'sys/aibo@test as sysdba' director
y=dpdump dumpfile=expdp1.dp,expdp2.dp tables=(skate.testbind,skate.testbind_tmp,
skate.test_idx) filesize=500M & time

 

Export: Release 10.2.0.4.0 - Production on 星期二, 31 8月, 2010 15:39:35

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

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "SYS"."SYS_EXPORT_TABLE_01":  'sys/********@test AS SYSDBA' directory=dpdum
p dumpfile=expdp1.dp,expdp2.dp tables=(skate.testbind,skate.testbind_tmp,skate.t
est_idx) filesize=500M
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 926 MB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "SKATE"."TEST_IDX"                          668.8 MB 6529200 行
. . 导出了 "SKATE"."TESTBIND"                          89.51 MB  912936 行
. . 导出了 "SKATE"."TESTBIND_TMP"                      872.9 KB  100000 行
已成功加载/卸载了主表 "SYS"."SYS_EXPORT_TABLE_01"
******************************************************************************
SYS.SYS_EXPORT_TABLE_01 的转储文件集为:
  D:/BACKUP/ORACLE/EXPDP1.DP
  D:/BACKUP/ORACLE/EXPDP2.DP
作业 "SYS"."SYS_EXPORT_TABLE_01" 已于 15:42:21 成功完成

 

当前时间: 15:42:22.15
输入新时间:

 

数据导出所用时间2分46秒

 

2.并行2进程,两个导出文件


C:/Documents and Settings/Administrator>expdp 'sys/aibo@test as sysdba' director
y=dpdump dumpfile=expdp1p.dp,expdp2p.dp tables=(skate.testbind,skate.testbind_tm
p,skate.test_idx) filesize=500M parallel=2 & time

 

Export: Release 10.2.0.4.0 - Production on 星期二, 31 8月, 2010 15:44:43

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

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "SYS"."SYS_EXPORT_TABLE_01":  'sys/********@test AS SYSDBA' directory=dpdum
p dumpfile=expdp1p.dp,expdp2p.dp tables=(skate.testbind,skate.testbind_tmp,skate
.test_idx) filesize=500M parallel=2
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 926 MB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "SKATE"."TESTBIND"                          89.51 MB  912936 行
. . 导出了 "SKATE"."TESTBIND_TMP"                      872.9 KB  100000 行
. . 导出了 "SKATE"."TEST_IDX"                          668.8 MB 6529200 行
已成功加载/卸载了主表 "SYS"."SYS_EXPORT_TABLE_01"
******************************************************************************
SYS.SYS_EXPORT_TABLE_01 的转储文件集为:
  D:/BACKUP/ORACLE/EXPDP1P.DP
  D:/BACKUP/ORACLE/EXPDP2P.DP
作业 "SYS"."SYS_EXPORT_TABLE_01" 已于 15:47:24 成功完成

 

当前时间: 15:47:25.20
输入新时间:


数据导出所用时间2分41秒

 

3.并行2进程,一个导出文件

 

C:/Documents and Settings/Administrator>expdp 'sys/aibo@test as sysdba' director
y=dpdump dumpfile=expdpp.dp tables=(skate.testbind,skate.testbind_tmp,skate.test
_idx)  parallel=2 & time

 

Export: Release 10.2.0.4.0 - Production on 星期二, 31 8月, 2010 15:53:17

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

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "SYS"."SYS_EXPORT_TABLE_02":  'sys/********@test AS SYSDBA' directory=dpdum
p dumpfile=expdpp.dp tables=(skate.testbind,skate.testbind_tmp,skate.test_idx) p
arallel=2
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 926 MB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "SKATE"."TEST_IDX"                          668.8 MB 6529200 行
. . 导出了 "SKATE"."TESTBIND"                          89.51 MB  912936 行
. . 导出了 "SKATE"."TESTBIND_TMP"                      872.9 KB  100000 行
已成功加载/卸载了主表 "SYS"."SYS_EXPORT_TABLE_02"
******************************************************************************
SYS.SYS_EXPORT_TABLE_02 的转储文件集为:
  D:/BACKUP/ORACLE/EXPDPP.DP
作业 "SYS"."SYS_EXPORT_TABLE_02" 已于 15:56:30 成功完成

 

当前时间: 15:56:30.87
输入新时间:


数据导出所用时间3分13秒

 


exp的测试


1. 常规路径导出


C:/Documents and Settings/Administrator>exp userid='sys/aibo@test as sysdba' fil
e=D:/Backup/oracle/expfull.dmp  tables=(skate.testbind,skate.testbind_tmp,skate.
test_idx)  buffer=409600000  & time

 

Export: Release 10.2.0.4.0 - Production on 星期二 8月 31 16:09:52 2010

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


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径...
当前的用户已更改为 SKATE
. . 正在导出表                        TESTBIND导出了      912936 行
. . 正在导出表                    TESTBIND_TMP导出了      100000 行
. . 正在导出表                        TEST_IDX导出了     6529200 行
成功终止导出, 没有出现警告。


当前时间: 16:14:51.14
输入新时间:

 

数据导出所用时间4分59秒

 

2. 直接路径导出

 

C:/Documents and Settings/Administrator>exp userid='sys/aibo@test as sysdba' fil
e=D:/Backup/oracle/expfull.dmp  tables=(skate.testbind,skate.testbind_tmp,skate.
test_idx)  buffer=409600000 direct=y & time

Export: Release 10.2.0.4.0 - Production on 星期二 8月 31 16:17:25 2010

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


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过直接路径...
当前的用户已更改为 SKATE
. . 正在导出表                        TESTBIND导出了      912936 行
. . 正在导出表                    TESTBIND_TMP导出了      100000 行
. . 正在导出表                        TEST_IDX导出了     6529200 行
成功终止导出, 没有出现警告。
当前时间: 16:21:56.75
输入新时间:


数据导出所用时间4分31秒


测试结果分析总结:由于我的测试环境是普通的pc机,io很容易就达到瓶颈,所以并行的测试效果不是很明显

 

导出文件的大小比较

 

导出文件大小顺序:exp常规路径导出文件 > exp直接路径导出文件 > expdp导出文件

导出速度比较: exp常规路径导出 < exp直接路径导出 <  expdp导出

 

exp和expdp原理对比


1.exp/imp客户端程序,受网络,磁盘的影响;impdp/expdp服务器端程序,只受磁盘的影响

 

2.假设文件把文件导出在服务端,exp常规方式是使用SELECT的方式查询数据库中的数据,是需要通过buffer cache并通
  过sql的语句处理层再转移至exp的导出文件(即要经过sga,pga才传输到客户端,而exp直接路径则是直接从磁盘上将数
  据转移至exp的导出文件,所以速度更快;而expdp是exp的升级版,相当于exp + direct mode + parallel(可能对导
  出文件还进行了压缩,这是从导出文件的对比结果发现的,具体不清楚)。所有从总的来说,expdp比exp提供了并行的
  方式(写入多个导出文件)

 

impdp的并行机制也让其比imp快很多

 

 

 

-----end-----

 

 

 

 

 

 

原创粉丝点击