Oracle跨平臺遷移的簡單總結
前段時間測試了一下GoldenGate,結合我之前的一些嘗試,對於小機環境的遷移,思路是逐步清晰了起來。
需求的核心是跨平臺遷移資料庫,最好能夠升級到新的版本,對於一個核心繫統的一主兩備,需要保證資料完整性的前提,同時能夠儘可能保持在一個較短的維護時間,對此自己也琢磨了很多方案。
想了NFS的方案,在備庫端建立一個NFS掛載點,源端指向Linux環境,然後直接Failover,這樣資料就能夠直接到Linux端,然後做一個跨平臺的convert操作
這樣就可以儘可能快的切換資料到了Linux端,然後在Linux端轉換檔案後直接利用TTS的方式匯入,如果準備充分,這個過程應該不超過半個小時。
自己還為這種方案而沾沾自喜,最後試了一遍,發現其實不是那麼回事。問題的瓶頸在哪裡呢,就是跨平臺的系統呼叫介面。
如果在Solaris端使用NFS共享的檔案,嘗試啟動資料庫,那麼就會沒有響應,會丟擲一個比較奇怪的問題。
當然自己也堅持不懈查了一些資料,發現真不能這麼玩,同時Solaris還可以,跨平臺的情況下,還是有很多大大的不同。所以NFS這個方案就點到為止,pass了。
而對於大資料量的資料庫做跨平臺遷移,還有什麼其他的思路嗎,XTTS是一種方式,但是這種方案就比較糾結了,幾乎是不可實現的,源端的資料庫的網路卡過舊,IO能力不足,拷貝基本上就是7M每秒的速度,對於一個近1T資料量的資料庫做檔案拷貝,簡直不敢想象。方案雖然可行,但是不可接受。
那麼使用Datapump呢,這個方案想比XTTS就更糾結了,傳輸,匯入都更加耗時。如果保守估計,匯出,傳輸,匯入,整個過程估計得10多個小時,那我就可以直接下班回家了。
還有什麼方案呢,其實還有不少,如果裡面的表不多的話,可以直接使用物化檢視的增量重新整理來玩等。
最後到了我不大擅長的GoldenGate了,最後發現還是這種方式是一種可持續性的,維護時間最短的方案。
首先是全量同步,這個過程可以通過Datapump來完成,為什麼選擇Datapump呢,就因為是邏輯的,而物理的方式有一定的侷限性,可以很輕鬆實現資料的跨版本匯入。
那麼問題來了,備庫怎麼datapump匯出,這個不可行啊,我如果直接Failover了,備庫就不可用了,還得重搭,這個還是有風險的。
如果你這麼想,那就對了,其實可以充分利用閃回資料庫的原理,先Failover,然後Datapump匯出,完成這個工作之後,閃回繼續接受歸檔,就是這個套路。
這個匯入的過程持續10個小時,還是5個小時,都影響不大,因為都是新主庫的操作。
而接下來的事情就需要注意了,那就是主庫端的增量同步。
使用GoldenGate的意義就在於此。
怎麼做增量同步呢,我們在備庫端全量同步的時候需要標記一個檢查點SCN,後續做增量同步就可以基於這個點來做了。
比如在目標端使用OGG同步,指定基於SCN 1887488就可以選擇性同步了。
GGSCI (newtest.oracle.com) 3> start rep_tlbb, aftercsn 1887488
整個過程會保證資料的一致性,而且是一個持續性的同步過程,如果說誇張一些,是零維護時間的遷移式升級。總之,維護時間很短,對於業務端來說是透明的而且完全無感知。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2128971/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OBIEE10g跨平臺遷移過程及問題總結
- 移動跨平臺技術方案總結
- 12c跨平臺完成PDB的備份遷移
- 用傳輸表空間跨平臺遷移資料
- RMAN備份恢復典型案例——跨平臺遷移pdb
- 使用 Velero 跨雲平臺遷移叢集資源到 TKE
- Rman_異地、跨平臺、跨版本的恢復總結及案例
- 【資料遷移】XTTS跨平臺傳輸表空間v4TTS
- Rust 跨平臺與條件編譯總結 2019.1.3Rust編譯
- Flutter實現Android、iOS跨平臺經驗總結FlutterAndroidiOS
- 從 Oracle 到 TiDB,全鏈路資料遷移平臺核心能力和杭州銀行遷移實踐OracleTiDB
- 【資料遷移】XTTS跨平臺傳輸表空間(1.傳統方式)TTS
- 移動跨平臺開發深度解析
- 移動端跨平臺開發的深度解析
- Oracle 行遷移 & 行連結的檢測與消除Oracle
- 模擬Oracle行遷移和行連結Oracle
- Rust 移動端跨平臺複雜圖形渲染專案開發系列總結(目錄)Rust
- Pygame的簡單總結GAM
- 一個簡單而美觀的跨平臺播客應用程式
- 推薦一個可以讓 go 程式跨平臺簡單部署的包Go
- 【Avalonia】【跨平臺】關於控制元件陰影簡單用法控制元件
- oracle遷移OCR盤Oracle
- Oracle遷移文件大全Oracle
- Oracle遷移文章大全Oracle
- 移動開發的跨平臺技術演進移動開發
- 簡簡單單的總結,意如生活的平淡
- 跨平臺開發技術簡介!
- 使用 `postMessage` 跨域名遷移 `localStorage`跨域
- 【資料遷移】XTTS跨平臺傳輸表空間v3(3.DFT方式)TTS
- 【資料遷移】XTTS跨平臺傳輸表空間v3(2.RMAN增量)TTS
- MySQL簡單總結MySql
- vuex簡單總結Vue
- Git學習——遷移單一倉庫至其他程式碼託管平臺Git
- oracle資料庫跨平臺(AIX)從RAC恢復至(linux)下的單例項Oracle資料庫AILinux單例
- 【DB寶50】Oracle異構平臺遷移之完全可傳輸匯出匯入Oracle
- 從 React Native 到 Flutter,移動跨平臺方案的真相React NativeFlutter
- oracle xtts遷移 AIX to LinuxOracleTTSAILinux
- 【kingsql分享】Oracle跨版本遷移之XTTS_V4版本的實施SQLOracleTTS
- 簡單分析Flask 資料庫遷移詳情Flask資料庫