匯入大量資料,比如300G資料,匯出500G資料需要考慮的問題

e71hao發表於2017-09-02
1.假設匯入到99%,你花了8個小時,但是最後,你設定表空間資料不夠,匯入報錯,怎麼辦?
這次匯入會不會報錯?會不會回滾?
空間不夠,是致命錯誤。會回滾。但是有個引數,resumable,resumable=y resumable_timeout=28800允許我們掛起,等待一段時間。


2.匯入大量資料,花的時間很長。我們要知道,進度是怎麼樣了?是否掛起?是否仍在匯入?
第一,設定響應引數feedback=10000000,第二,看插入日誌
第三,看資源管理器中相關程式cpu,硬碟是否在使用 ,第四 看寫入檔案是否有變化
第五,最好的方式是看會話v$session中有個sql_id,這個欄位就是記錄了當前會話正在進行執行什麼sql語句。
3.怎麼樣匯入更快?
設定表nologging.直接路徑匯入。暫時不匯入索引。
insert /*+append*/ into card_trade_detail

4.切割大檔案的操作。大檔案比如300G,你會遇到這樣一些問題,比如,你複製一個300G檔案從硬碟到行動硬碟,剛開始很快,600M/s,到後面變成30M/s,頭疼吧。這樣我們匯出的時候需要進行檔案切割。把大檔案切割成小分件,比如切割成5G複製,也很慢。




5.以下是一些經驗資料
(1)486萬 225秒,每個segment 840M  451萬:49秒  497萬:53  一年的資料檔案434G
當前資料量是1.1億,建立索引為:
create index idx_ctd_card_inner_no_gl on CARD_TRADE_DETAIL(card_inner_no) global tablespace cardidx01;
花去時間為:369秒,索引大小是4G .
(2)1.1億資料索引 uk_ctd_gl_1 7個欄位建立唯一索引,花去時間為253秒,索引大小為6.8G
(3)18億資料索引 uk_ctd_gl_1 7個欄位建立主鍵索引,索引大小為144G;
(4)匯入300G資料,在dellr730機器上上插入花時8個小時。
在dellr730機器,18億資料索引 uk_ctd_gl_1 7個欄位建立主鍵索引,索引大小為112G,建立52分鐘。
(5)最後我說下其中比較坑爹的一次部署:把18億500G資料匯出來,花時40分鐘。把225G資料匯出到優盤,時間是5小時。從優盤複製到客戶電腦中轉機1小時。從中轉機複製到aix系統,6小時。匯入資料時間是5小時。

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

相關文章