Datapump資料遷移的實踐總結
雖說實踐了不少的資料遷移專案,但是從我的感觸來說,一些很細小的差別就會造成整個資料遷移方案的大不同。資料是系統的核心命脈,所以對於DBA來說,保證資料的一致性和準確性是一個最基本的要求。對此我的一個基本觀點就是高可用的需求除非特殊需要,一般都還是需要一個維護視窗的,這種方式更為保守,但是更為保證。
而在Datapump遷移中還是遇到了不少的小問題,也算是一些心得或者建議吧。
1)如果是跨平臺的資料遷移,在升級前需要得到一個清單,包含哪些失效的物件,是否需要重新編譯,如果不確認,在遷移之後就會更加迷茫,到底是不是遷移之後造成的問題。
2)資料遷移中還是建議直接停掉監聽,保證沒有其它的外來連線,在之前的大型資料遷移中,雖然從口頭上制度上會有一些約束,但是不能完全保證其他人能夠完全遵守,有時候應用的同事需要提前檢查一些資料,可能會想做一些查詢,這個就比較難控制了。而且很可能會觸發一些小問題,尤其是效能問題。
3)如果在資料遷移時條件允許,還是建議直接設定為非歸檔模式,有缺點也有優點,優點是整體的速度會提高差不多1倍,但是缺點是主備庫的架構會需要重建,而且在資料遷移後期,收集統計資訊的階段其實會消耗掉不少的時間,如果是非歸檔模式,必須要等待遷移徹底完成才可以,而如果時間視窗允許,而且需要保證主備庫的架構,只能在歸檔模式下,優點就是保留了主備的架構,無需重新搭建,另外一個有點就是編譯儲存過程,收集統計資訊的階段,其實已經可以在內部開始一些基本的驗證和測試了。因為內部的一些流程和步驟本身需要一些時間,所以這個時間段就可以充分結合起來。缺點也很明顯,效率上會差一些,而且需要額外的空間,同步增量的資料需要較高的頻寬。所以這是一把雙刃劍。
4)在源庫中匯出dump,傳輸到目標庫的時候,不要開啟過多的傳輸程式,這個時候會有一種問題就是會嚴重影響其他的客戶端連線進來,這裡也有一些需要注意的地方,有時候還是很值得琢磨琢磨,比如有1000個dump,那麼我們肯定不可能開啟1000個程式同時傳輸,我們只能開啟一小部分,始終保留有資料的傳輸,這個持續的過程就有幾種考量,一種是一批一批,比如一次30個dump,完成之後再開啟30個dump的傳輸。另外一種是按照時間的先後開啟30個,但是始終保證後臺執行偶30個dump的傳輸程式。第一種方式可以做成指令碼的模式,但是可控性,靈活性略微差一些,而第二種就是半自動的方式,需要很多時候人工介入。
5)在傳輸dump的時候還是直接使用固定的IP而非繫結的漂移IP,這個效能差異個人感覺還是非常大的,在演練中使用同樣的硬體環境,同樣資料量大概需要傳輸40分鐘,而使用繫結IP,漂移IP這個效能就差了很多,花費的時間多了一倍。
6)如果在遷移後目標伺服器的IP需要變更為源伺服器的IP,這這個過程中讓人比較糾結的就是DB Link,而隨著相關的就是含有DB Link的儲存過程,包體,檢視等。這個過程尤其需要注意,建議還是在遷移前就修改IP,保證防火牆資訊和源庫一致,這樣DB Link的坑就會避免。遷移升級的時間,每一分鐘都是需要儘量去爭取的,對於系統級的網路超時是一分鐘,如果存在大量的儲存過程存在過多依賴,那這個編譯過程就會大打折扣。
比如我們在遷移中碰到的儲存過程編譯。
ALTER PROCEDURE "TEST"."P_TEST" COMPILE PLSQL_OPTIMIZE_LEVEL= 0 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= TRUPLSCOPE_SETTI
NGS= '' REUSE SETTINGS TIMESTAMP '2014-09-18 07:35:33'
其實這種編譯過程能花費什麼時間,時間都在網路的驗證超時上了。
7)遷移的演練非常重要,儘可能完全模擬整個遷移的過程,如果嫌麻煩跳過了一些步驟,或者認為可能影響不大忽略了一些小的步驟,那麼這些問題就會交給遷移時間,碰到了問題處理起來就非常痛苦了。
8)遷移前的準備越充分,遷移的時候就會越輕鬆,遷移最後有一個檢查清單和步驟,特別是在有時候工作不在狀態的時候,這個就是一個綱要和指導方針。
9)遷移是一件苦活,需要始終保持注意力,細心的對待可能出現的問題環節,對於突發情況還是要冷靜,這個當然多說無益,實踐出真知。
而在Datapump遷移中還是遇到了不少的小問題,也算是一些心得或者建議吧。
1)如果是跨平臺的資料遷移,在升級前需要得到一個清單,包含哪些失效的物件,是否需要重新編譯,如果不確認,在遷移之後就會更加迷茫,到底是不是遷移之後造成的問題。
2)資料遷移中還是建議直接停掉監聽,保證沒有其它的外來連線,在之前的大型資料遷移中,雖然從口頭上制度上會有一些約束,但是不能完全保證其他人能夠完全遵守,有時候應用的同事需要提前檢查一些資料,可能會想做一些查詢,這個就比較難控制了。而且很可能會觸發一些小問題,尤其是效能問題。
3)如果在資料遷移時條件允許,還是建議直接設定為非歸檔模式,有缺點也有優點,優點是整體的速度會提高差不多1倍,但是缺點是主備庫的架構會需要重建,而且在資料遷移後期,收集統計資訊的階段其實會消耗掉不少的時間,如果是非歸檔模式,必須要等待遷移徹底完成才可以,而如果時間視窗允許,而且需要保證主備庫的架構,只能在歸檔模式下,優點就是保留了主備的架構,無需重新搭建,另外一個有點就是編譯儲存過程,收集統計資訊的階段,其實已經可以在內部開始一些基本的驗證和測試了。因為內部的一些流程和步驟本身需要一些時間,所以這個時間段就可以充分結合起來。缺點也很明顯,效率上會差一些,而且需要額外的空間,同步增量的資料需要較高的頻寬。所以這是一把雙刃劍。
4)在源庫中匯出dump,傳輸到目標庫的時候,不要開啟過多的傳輸程式,這個時候會有一種問題就是會嚴重影響其他的客戶端連線進來,這裡也有一些需要注意的地方,有時候還是很值得琢磨琢磨,比如有1000個dump,那麼我們肯定不可能開啟1000個程式同時傳輸,我們只能開啟一小部分,始終保留有資料的傳輸,這個持續的過程就有幾種考量,一種是一批一批,比如一次30個dump,完成之後再開啟30個dump的傳輸。另外一種是按照時間的先後開啟30個,但是始終保證後臺執行偶30個dump的傳輸程式。第一種方式可以做成指令碼的模式,但是可控性,靈活性略微差一些,而第二種就是半自動的方式,需要很多時候人工介入。
5)在傳輸dump的時候還是直接使用固定的IP而非繫結的漂移IP,這個效能差異個人感覺還是非常大的,在演練中使用同樣的硬體環境,同樣資料量大概需要傳輸40分鐘,而使用繫結IP,漂移IP這個效能就差了很多,花費的時間多了一倍。
6)如果在遷移後目標伺服器的IP需要變更為源伺服器的IP,這這個過程中讓人比較糾結的就是DB Link,而隨著相關的就是含有DB Link的儲存過程,包體,檢視等。這個過程尤其需要注意,建議還是在遷移前就修改IP,保證防火牆資訊和源庫一致,這樣DB Link的坑就會避免。遷移升級的時間,每一分鐘都是需要儘量去爭取的,對於系統級的網路超時是一分鐘,如果存在大量的儲存過程存在過多依賴,那這個編譯過程就會大打折扣。
比如我們在遷移中碰到的儲存過程編譯。
ALTER PROCEDURE "TEST"."P_TEST" COMPILE PLSQL_OPTIMIZE_LEVEL= 0 PLSQL_CODE_TYPE= INTERPRETED PLSQL_DEBUG= TRUPLSCOPE_SETTI
NGS= '' REUSE SETTINGS TIMESTAMP '2014-09-18 07:35:33'
其實這種編譯過程能花費什麼時間,時間都在網路的驗證超時上了。
7)遷移的演練非常重要,儘可能完全模擬整個遷移的過程,如果嫌麻煩跳過了一些步驟,或者認為可能影響不大忽略了一些小的步驟,那麼這些問題就會交給遷移時間,碰到了問題處理起來就非常痛苦了。
8)遷移前的準備越充分,遷移的時候就會越輕鬆,遷移最後有一個檢查清單和步驟,特別是在有時候工作不在狀態的時候,這個就是一個綱要和指導方針。
9)遷移是一件苦活,需要始終保持注意力,細心的對待可能出現的問題環節,對於突發情況還是要冷靜,這個當然多說無益,實踐出真知。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2122038/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【DATAPUMP】使用DataPump遷移Oracle資料庫Oracle資料庫
- datapump跨平臺升級遷移的總結
- Datapump資料遷移前的準備工作
- Datapump資料遷移前的準備工作(二)
- kafka資料遷移實踐Kafka
- 曠日持久的資料遷移總結
- 海量資料遷移之sqlldr和datapump的缺點分析SQL
- 資料遷移部分問題總結
- PgSQL·最佳實踐·雲上的資料遷移SQL
- 線上資料遷移,數字化時代的必修課 —— 京東雲資料遷移實踐
- cassandra百億級資料庫遷移實踐資料庫
- Jenkins搭建與資料遷移實踐Jenkins
- GoldenGate資料遷移的問題總結(一)Go
- GoldenGate資料遷移的問題總結(二)Go
- 資料整合式遷移的一些總結
- 資料遷移中的幾個問題總結
- 【Datapump】Oracle資料泵遷移資料命令參考(expdp/impdp說明)Oracle
- 實踐案例:平安健康的 Dubbo3 遷移歷程總結
- 大型資料庫跨平臺遷移總結資料庫
- Hadoop資料遷移MaxCompute最佳實踐Hadoop
- 資料庫平滑遷移方案與實踐分享資料庫
- xtts遷移實踐TTS
- 資料遷移(1)——通過資料泵表結構批量遷移
- 高途資料平臺遷移與成本治理實踐
- 海量資料遷移之一個誤操作的問題總結
- 通過impdp做資料庫遷移遇到的問題總結資料庫
- 全量、增量資料在HBase遷移的多種技巧實踐
- 主資料管理的7個實踐總結
- Mongo資料遷移實驗Go
- 資料的遷移
- oracle 各種遷移總結Oracle
- VPGAME的Kubernetes遷移實踐GAM
- VPGAME 的 Kubernetes 遷移實踐GAM
- 遷移資料.
- GaussDB技術解讀系列:資料庫遷移創新實踐資料庫
- 【遷移】使用rman遷移資料庫資料庫
- 資料庫遷移之資料泵實驗資料庫
- 圖資料庫設計實踐 | 儲存服務的負載均衡和資料遷移資料庫負載