Oracle 11g impdp 先資料後索引匯入方法

lovehewenyu發表於2020-03-16
Oracle 11g impdp 先資料後索引導 入方法
場景:
資料庫expdp,impdp匯出匯入,因索引匯入時間較長,易導致異常終止形成不可控的局面。故採取先匯入資料後,後匯入index和constraint的方法。提高資料匯入的正確率。


環境:
資料庫:oracle 11.2.0.4

作業系統:aix 6.1

dump檔案約30g大小,未壓縮時約200g左右。


1.操作過程流如下:
1.1 使用者匯出
##排除無用表,減少匯出匯入的壓力,提高效率。相當明顯建議使用
##排除dblink,減少誤操作風險,往往預生產,測試環境與生產相似度極高,為了避免誤操作。建議排除dblink 匯出匯入,人為重建代替##
##採用壓縮compression,效果比較明顯,在CPU資源足的情況建議使用
##cluster=no,RAC環境下建議使用
expdp system/**** directory=dump_dir dumpfile=monthend_prd_20200312_%U.dmp schemas=BMC_prd parallel=12 cluster=no exclude=table:\"IN\(\'BIG_TABLE1\',\'BIG_LOG1\',\'BIG_HIS_TAB1\') exclude=DB_LINK logfile=expdp_monthend_prd_20200312.log compression=ALL
##主要用法是使用exclude和include,排除index時用exclude,匯入index時必須用include##
1.2 使用者資料匯入
impdp system/**** directory=DB_DUMP parallel=4 dumpfile=monthend_prd_20200312_%u.dmp logfile=monthend_prd_20200312_%u_2.log remap_schema=BMC_prd:BMC_PREPROD2 exclude=index exclude=constraint
1.3 使用者index和constraint匯入
impdp system/**** directory=DB_DUMP parallel=4 dumpfile=monthend_prd_20200312_%u.dmp logfile=monthend_prd_20200312_%u_3.log remap_schema=BMC_prd:BMC_PREPROD2 include=index include=constraint
##這裡impdp匯入索引比較有意思,我提出log分析給大家。直接進入匯入索引。##
******
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX


2.效率對比(以時間為衡量標準)如下:
2.1 資料和索引未分開匯入消耗時間:08:24:06
2.2 資料和索引分開匯入消耗時間:08:04:44
資料 01:17:01
索引 06:47:43
結論:資料和索引分開匯入還是提高了20分鐘的效率,雖然效率不是特別明顯(索引的後設資料不是並行,索引匯入無法並行加速)。但是資料和索引分開匯入提升了匯入的正確率。
##索引匯入時間越長越容易出現失敗的情況,如索引失敗導致HANG死,會導致後面的所有物件導致失敗。所以資料和索引分開匯入提升了匯入的正確率。


########################################################################################

版權所有,文章允許轉載,但必須以連結方式註明源地址,否則追究法律責任!【QQ交流群:53993419】

QQ:14040928 E-mail:dbadoudou@163.com

本文連結: http://blog.itpub.net/26442936/viewspace-2680471/

########################################################################################

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-2680471/,如需轉載,請註明出處,否則將追究法律責任。

相關文章