10g資料泵和匯入匯出效能對比(四)
前一段時間在一次遷移中同時用到了資料泵和EXP,發現二者效率的差別還是相當大的。這裡透過一個例子簡單比較一下。
這篇文章討論並行度對資料泵匯出的影響。
10g資料泵和匯入匯出效能對比(一):http://yangtingkun.itpub.net/post/468/321482
10g資料泵和匯入匯出效能對比(二):http://yangtingkun.itpub.net/post/468/323899
10g資料泵和匯入匯出效能對比(三):http://yangtingkun.itpub.net/post/468/328465
寫前幾篇文章的時候對資料泵還了解不多,最近閱讀文件發現,並行的設定也是有技巧的,如果設定的合理,可以明顯的提高匯出的效能。
首先還是看一下CPU的數量:
SQL> show parameter cpu
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cpu_count integer 2
parallel_threads_per_cpu integer 2
根據文件的描述,並行度的設定不應該超過CPU數量的2倍,因此這裡最大並行度設定為4,對比一下不設定並行、設定並行但僅設定一個匯出檔案、設定並行並設定對應多個匯出檔案等幾種情況下的效能。
先看直接匯出的效能:
$ expdp zhejiang/zhejiang directory=d_test dumpfile=zhejiang.dp
Export: Release 10.2.0.3.0 - 64bit Production on 星期三, 16 1月, 2008 22:51:43
Copyright (c) 2003, 2005, Oracle. All rights reserved.
連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
啟動 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01": zhejiang/******** directory=d_test dumpfile=zhejiang.dp
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 22.64 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"."ORD_ORDER_ITEM" 1.890 GB 3226647 行
. . 匯出了 "ZHEJIANG"."CON_LIST_ITEM" 4.505 MB 7985 行
. . 匯出了 "ZHEJIANG"."ORD_PURCHASE_ITEM" 1.281 GB 3238674 行
.
.
.
. . 匯出了 "ZHEJIANG"."UNC_PRODUCT_MAPTJ" 0 KB 0 行
. . 匯出了 "ZHEJIANG"."UNC_SMS_USER_NEW" 0 KB 0 行
. . 匯出了 "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/zhejiang.dp
作業 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01" 已於 23:06:01 成功完成
整個匯出操作大概用了14分半,下面嘗試使用並行度2進行匯出,這時仍然設定一個匯出的資料檔案:
$ expdp zhejiang/zhejiang directory=d_test dumpfile=zhejiang_p2_1file.dp parallel=2
Export: Release 10.2.0.3.0 - 64bit Production on 星期三, 16 1月, 2008 23:13:10
Copyright (c) 2003, 2005, Oracle. All rights reserved.
連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
啟動 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01": zhejiang/******** directory=d_test dumpfile=zhejiang_p2_1file.dp parallel=2
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 22.64 GB
處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
. . 匯出了 "ZHEJIANG"."ORD_HIT_COMM" 3.255 GB 4176146 行
處理物件型別 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_ORDER_ITEM" 1.890 GB 3226647 行
. . 匯出了 "ZHEJIANG"."CON_LIST_ITEM" 4.505 MB 7985 行
. . 匯出了 "ZHEJIANG"."ORD_LOG_HIT_COMM" 1.078 GB 1335486 行
. . 匯出了 "ZHEJIANG"."ORD_PURCHASE_ITEM" 1.281 GB 3238674 行
.
.
.
. . 匯出了 "ZHEJIANG"."UNC_SMS_USER_NEW" 0 KB 0 行
. . 匯出了 "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/zhejiang_p2_1file.dp
作業 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01" 已於 23:27:02 成功完成
整個匯入過程不到14分鐘,不過這個效能的提升實在不是很明顯。不過這是有原因的,由於設定了並行度,兩個程式在同時執行匯出操作,但是二者要將匯出的資料寫入同一個資料檔案中,因此必然會導致資源的爭用。下面仍然使用並行度2,但是同時設定兩個資料檔案再次檢查匯出效能:
$ expdp zhejiang/zhejiang directory=d_test dumpfile=zhejiang_p2_2file1.dp,zhejiang_p2_2file2.dp parallel=2
Export: Release 10.2.0.3.0 - 64bit Production on 星期三, 16 1月, 2008 23:28:08
Copyright (c) 2003, 2005, Oracle. All rights reserved.
連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
啟動 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01": zhejiang/******** directory=d_test dumpfile=zhejiang_p2_2file1.dp,zhejiang_p2_2file2.dp parallel=2
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 22.64 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"."ORD_ORDER_ITEM" 1.890 GB 3226647 行
. . 匯出了 "ZHEJIANG"."ORD_PURCHASE_ITEM" 1.281 GB 3238674 行
.
.
.
. . 匯出了 "ZHEJIANG"."UNC_PRODUCT_MAPTJ" 0 KB 0 行
. . 匯出了 "ZHEJIANG"."UNC_SMS_USER_NEW" 0 KB 0 行
. . 匯出了 "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/zhejiang_p2_2file1.dp
/data1/zhejiang_p2_2file2.dp
作業 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01" 已於 23:38:42 成功完成
這次匯出僅僅用了10分半,匯出的效率大大的提高。最後測試一下並行度4,分別匯出到4個資料檔案中:
$ expdp zhejiang/zhejiang directory=d_test dumpfile=zhj_4_4_1.dp,zhj_4_4_2.dp,zhj_4_4_3.dp,zhj_4_4_4.dp parallel=4
Export: Release 10.2.0.3.0 - 64bit Production on 星期三, 16 1月, 2008 23:40:24
Copyright (c) 2003, 2005, Oracle. All rights reserved.
連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
啟動 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01": zhejiang/******** directory=d_test dumpfile=zhj_4_4_1.dp,zhj_4_4_2.dp,zhj_4_4_3.dp,zhj_4_4_4.dp parallel=4
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 22.64 GB
處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
處理物件型別 SCHEMA_EXPORT/SYNONYM/SYNONYM
. . 匯出了 "ZHEJIANG"."CON_LIST_ITEM" 4.505 MB 7985 行
處理物件型別 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_PURCHASE_ITEM" 1.281 GB 3238674 行
. . 匯出了 "ZHEJIANG"."ORD_ORDER_ITEM" 1.890 GB 3226647 行
. . 匯出了 "ZHEJIANG"."ORD_LOG_HIT_COMM" 1.078 GB 1335486 行
. . 匯出了 "ZHEJIANG"."CON_LIST_ITEM_SEND" 483.8 KB 7746 行
.
.
.
. . 匯出了 "ZHEJIANG"."UNC_SMS_USER_NEW" 0 KB 0 行
. . 匯出了 "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/zhj_4_4_1.dp
/data1/zhj_4_4_2.dp
/data1/zhj_4_4_3.dp
/data1/zhj_4_4_4.dp
作業 "ZHEJIANG"."SYS_EXPORT_SCHEMA_01" 已於 23:49:24 成功完成
用了9分鐘整匯出完成,設定成並行度4仍然可以獲得一定的效能提升,但是並不明顯了,這主要是由於整個效能的瓶頸已經不是單個程式的處理能力,多半效能的瓶頸已經變成了磁碟IO瓶頸,此時單單靠增加並行度已經無法明顯提升效能了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-208540/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 10g資料泵和匯入匯出效能對比(三)
- 10g資料泵和匯入匯出效能對比(二)
- 10g資料泵和匯入匯出效能對比(一)
- 10g資料泵和匯入匯出效能對比(六)
- 10g資料泵和匯入匯出效能對比(五)
- 對比資料泵與原始匯入匯出工具(四)
- 【原創】比較資料泵和exp/imp對相同資料匯出/匯入的效能差異
- 資料泵匯出匯入
- Oracle資料泵的匯入和匯出Oracle
- 資料泵取匯出和匯入(一)
- 資料泵的匯入匯出
- 資料泵匯出匯入表
- 對比資料泵與原始匯入匯出工具(五)
- 對比資料泵與原始匯入匯出工具(三)
- 對比資料泵與原始匯入匯出工具(八)
- 對比資料泵與原始匯入匯出工具(七)
- 對比資料泵與原始匯入匯出工具(六)
- Oracle資料泵-schema匯入匯出Oracle
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Oracle使用資料泵匯出匯入表Oracle
- 針對資料泵匯出 (expdp) 和匯入 (impdp)工具效能降低問題的檢查表
- 資料泵匯出匯入資料標準文件
- 資料庫泵(expdp/impdp)匯入匯出流程資料庫
- 12c 資料泵匯入匯出級別
- oracle監控資料泵匯入和匯出的sql語句OracleSQL
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- Impdp資料泵匯入
- postgresql 資料匯入和匯出SQL
- 資料泵匯出匯入物化檢視(ORA-39083)
- oracle10G新特性之資料泵匯出/匯入Oracle
- 【匯入匯出】資料泵 job_name引數的使用
- MySQL入門--匯出和匯入資料MySql
- informix高效能匯入匯出資料HPLORM
- 匯入和匯出AWR的資料
- 【mysql】資料庫匯出和匯入MySql資料庫
- BCP 資料的匯入和匯出
- NDS的資料匯入和匯出
- 使用Exp和Expdp匯出資料的效能對比與優化優化