Oracle GoldenGate軟件因其不受限于平臺和版本甚至不同數據庫的特性,所以在有跨庫同步的需求時,是很好用的工具,被廣泛應用。
不過隨著業務增長,數據量膨脹,源端數據庫可能面臨遷移的需求,本文就介紹一種O->O情況下目標端數據庫需要更換源端時的簡單方法。
在使用OGG遷移數據庫時,得益于OGG進程參數配置的便捷,實際上我們可以復用同一個源端抽取進程,然后拆分出兩個投遞進程,分別投遞到不同的目標端。如下圖所示:
這樣的情形下,可以保證兩個目標端得到的隊列文件是完全一致的,僅前綴做區分。在待遷移數據庫遷移之前,我們就可以很方便得將老目標端的源端修改為新庫,并保證數據的一致性。方法為:
停掉待遷移數據庫的源端抽取進程,保證投遞進程投遞的隊列文件最后的CSN一致
觀察源端抽取進程的RBA不再變化后,停掉兩個源端投遞進程,保證新庫和老目標端數據均暫不變化
觀察兩個投遞進程的RBA均不再變化后,啟動源端抽取進程,并觀察是否再次抽取到DML操作,確認進程正常(源端重啟抽取進程后確認進程正常非常重要,整個數據庫遷移過程中最不能出問題的就是源端抽取進程)
啟用新庫的抽取進程、投遞進程,時間為當前時間(此時新庫和老目標端數據一致,且暫不變化)
觀察新庫抽取進程是否未抽取到數據(因新庫數據暫不變化,此時應抽取不到)
確認新庫抽取進程未抽取到數據后,啟動源端投遞進程B,使新庫繼續同步待遷移數據庫的數據
新庫復制進程組B再次同步數據后,觀察新庫抽取、投遞進程是否正常抽取到數據變化(此時即可保證變化的數據在a中的CSN之后,相當于數據是連續的)
刪除掉老目標端的復制進程組A,并復用為新庫到老目標端的復制進程組C(進程名、參數配置等均不變,僅重新添加時更換隊列文件)
啟動老目標端的復制進程組C,同步來自新庫的數據,觀察是否同步正常(基本上同步不會有異常,個別表可以多帶帶處理)
確認同步無誤后,刪除源端投遞進程A,完成整個切換(此時新庫到老目標端的同步完全獨立,不受割接當晚操作的影響,也不需要額外的操作)
完成切換后,整個配置如下圖所示:
可以看到,整個同步變成了類似“級聯”的方式,老目標端依然可以保持與待遷移數據的數據一致,不影響現有的應用。
以下為整個OGG源端切換過程中部分操作的截圖:
停止源端抽取進程
停止源端兩個投遞進程
啟動源端投遞進程
啟動新庫抽取進程
重新添加復制進程組C
因為OGG進程的靈活性,所以在整個源端更換的過程中,我們是有多次回旋的余地的,基本上在啟動復制進程C之前,都可以根據當時具體的情況,決定是否繼續進行更換的操作。所以,這種方式的風險性很小,不存在一錘子買賣,剩下的看老天的情況。當然了,在切換之前,我們盡可能得做一次完整的數據校驗,處理掉同步過程中產生異常的表,后續的操作就會更加得平滑,安全。在我的遷移經歷中,使用OGG遷移已經多次被證明是行之有效,安全且操作當晚壓力較小的方式,推薦大家研究使用。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/130080.html
OGG Integrated Native DDL簡單測試 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%;...
摘要:年月日,遷移服務解決方案在城市峰會中正式發布。遷移服務向分布式架構升級的直接路徑基于上述問題和挑戰,同時經過螞蟻十年數據庫架構升級的先進經驗,螞蟻金服為客戶打造了這款一站式數據遷移解決方案遷移服務,簡稱。 2019年1月4日,OceanBase遷移服務解決方案在ATEC城市峰會中正式發布。螞蟻金服資深技術專家師文匯和技術專家韓谷悅共同分享了OceanBase遷移服務的重要特性和業務實踐...
摘要:年月日,遷移服務解決方案在城市峰會中正式發布。遷移服務向分布式架構升級的直接路徑基于上述問題和挑戰,同時經過螞蟻十年數據庫架構升級的先進經驗,螞蟻金服為客戶打造了這款一站式數據遷移解決方案遷移服務,簡稱。 2019年1月4日,OceanBase遷移服務解決方案在ATEC城市峰會中正式發布。螞蟻金服資深技術專家師文匯和技術專家韓谷悅共同分享了OceanBase遷移服務的重要特性和業務實踐...
閱讀 1353·2023-01-11 13:20
閱讀 1699·2023-01-11 13:20
閱讀 1211·2023-01-11 13:20
閱讀 1904·2023-01-11 13:20
閱讀 4161·2023-01-11 13:20
閱讀 2751·2023-01-11 13:20
閱讀 1397·2023-01-11 13:20
閱讀 3664·2023-01-11 13:20