匯入大量資料,比如300G資料,匯出500G資料需要考慮的問題
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小時。
這次匯入會不會報錯?會不會回滾?
空間不夠,是致命錯誤。會回滾。但是有個引數,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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- PHP匯入大量CSV資料PHP
- phpMyAdmin匯入/匯出資料PHP
- Oracle資料匯入匯出Oracle
- 資料泵匯出匯入
- sqoop資料匯入匯出OOP
- Oracle 資料匯入匯出Oracle
- 【oracle 資料匯入匯出字元問題】Oracle字元
- EasyPoi, Excel資料的匯入匯出Excel
- Mongodb資料的匯出與匯入MongoDB
- 匯入和匯出AWR的資料
- 遷移資料庫資料考慮問題資料庫
- 使用navicat匯出查詢大量資料結果集並匯入到其他資料庫(mysql)資料庫MySql
- SQL資料庫的匯入和匯出SQL資料庫
- Oracle資料泵的匯入和匯出Oracle
- PHP大資料xlswriter匯入匯出(最優資料化)PHP大資料
- MySQL入門--匯出和匯入資料MySql
- Mysql 資料庫匯入與匯出MySql資料庫
- oracle資料匯出匯入(exp/imp)Oracle
- DBeaver 資料匯入SQL時的問題SQL
- PostgreSQL資料庫匯入大量資料時如何最佳化SQL資料庫
- 大文字資料,匯入匯出到資料庫資料庫
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 【最佳實踐】MongoDB匯出匯入資料MongoDB
- 複雜「場景」資料匯入匯出
- ClickHouse 資料表匯出和匯入(qbit)
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- 資料匯入終章:如何將HBase的資料匯入HDFS?
- 資料搬運元件:基於Sqoop管理資料匯入和匯出元件OOP
- Python大資料分析學習.Pandas 資料匯入問題 (1)Python大資料
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- 選擇 NoSQL 資料庫需要考慮的 10 個問題SQL資料庫
- QZpython匯入匯出redis資料的實現deuPythonRedis
- 使用Dbeaver 進行資料的匯入和匯出
- [玩具程式碼]swoole多程式匯出大量資料
- MySQL資料的匯出MySql
- MySQL資料的匯入MySql
- MongoDB--Mongodb 中資料匯出與匯入MongoDB
- mysql匯出資料MySql