欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle到PostgreSQL的不停機數(shù)據(jù)庫遷移的流程步驟

 更新時間:2024年05月11日 11:16:31   作者:NineData  
這篇文章主要介紹了Oracle到PostgreSQL的不停機數(shù)據(jù)庫遷移的流程步驟,Oracle?到?PostgreSQL?的遷移并不是說遷就能遷的,有很多不得不解決的問題,文中通過代碼示例講解的非常詳細,需要的朋友可以參考下

1970 年,數(shù)據(jù)庫之父 Edgar Frank Codd 發(fā)表了“數(shù)據(jù)的關(guān)系模型”論文,該論文為往后的關(guān)系型數(shù)據(jù)庫的發(fā)展奠定了基礎(chǔ)。1979 年,基于關(guān)系模型理論的數(shù)據(jù)庫產(chǎn)品 Oracle 2 首次亮相,并在過去的三四十年時間里,橫掃全球數(shù)據(jù)庫市場。

時間到了 1989 年,Oracle 進軍中國市場,場面幾乎也是 Oracle 一家獨大,大部分大型企業(yè)都被 Oracle 占領(lǐng)。Oracle 功能強大,運行穩(wěn)定的背后,是其高額的授權(quán)費用。盡管如此,由于 Oracle 的黏性實在太強,在沒有替代方案的情況下,接下來的相當長一段年月里,企業(yè)也都只能乖乖掏錢。

時至今日,情況已經(jīng)發(fā)生了翻天覆地的變化,替代方案層出不窮,PostgreSQL 作為其中的一員,除了兼具多樣功能和強大性能之外,還具備非常優(yōu)秀的可擴展性,可以較好地兼容 Oracle,企業(yè)也可以從長期活躍的開源社區(qū)中得到豐富的資源和技術(shù)支持,最重要的是,PostgreSQL 是開源軟件,無需支付高昂的授權(quán)費用,這可以為企業(yè)省下不小的支出。因此,Oracle 到 PostgreSQL 的遷移成了眾多企業(yè)的首選。

然而,Oracle 到 PostgreSQL 的遷移并不是說遷就能遷的,有很多不得不解決的問題。

Oracle 遷移到 PostgreSQL 不得不解決的問題

業(yè)務(wù)的可用性:遷移必須在不影響業(yè)務(wù)的前提下進行,換句話說,遷移時不能停機,那需要考慮的事情就非常多了:存量和增量數(shù)據(jù)如何完整遷移?如何處理遷移時的性能波動?如何實現(xiàn)應(yīng)用程序的平滑切換?等等。

表的初始化:在同步數(shù)據(jù)之前,需要手動在 PostgreSQL 端創(chuàng)建和源端一致的表結(jié)構(gòu),然后才能從源端接收數(shù)據(jù)。當源端有大量表且表結(jié)構(gòu)很復(fù)雜的情況下,工作量非常大。

數(shù)據(jù)結(jié)構(gòu)的映射:兩者數(shù)據(jù)結(jié)構(gòu)不同,怎么確保數(shù)據(jù)從源端同步過來后的完整性?除非你對兩者的數(shù)據(jù)模型的理解非常極致,且保證絕對不出錯,才能達到理想的結(jié)果。

源端 DDL 語句的聯(lián)動:如何保證源端的數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時,同步鏈路不中斷?那就需要實時捕獲源端 Oracle 的 DDL 變更,并及時在目標端的 PostgreSQL 中同步執(zhí)行。

這些問題如果可以順利解決,遷移工作將會相當絲滑。那么如何解決呢?方法自然是有的。對于上述 4 個問題,NineData 有絕對的發(fā)言權(quán),我們先來看看它是如何解決這些問題的:

遷移過程不停機:在不影響源端業(yè)務(wù)的情況下,進行全量和增量數(shù)據(jù)的遷移,保證源和目標的一致性,并在遷移完成后實施無縫切換。

結(jié)構(gòu)復(fù)制:基于目標端數(shù)據(jù)源的特性,自動高效地完成表的創(chuàng)建、數(shù)據(jù)結(jié)構(gòu)的映射等工作。

復(fù)制性能:基于動態(tài)攢批、并行復(fù)制、Stream Load 等技術(shù),復(fù)制性能輕松達到 200 MB/S。

DDL 捕獲與執(zhí)行:實時檢測源端中的 DDL 操作,并同步在目標端中執(zhí)行,保證其他業(yè)務(wù)變更能夠穩(wěn)定地進行。

輕松解決且非常愉快,下面來看看怎么操作。

步驟一:錄入源和目標數(shù)據(jù)源

登錄 NineData 控制臺,單擊數(shù)據(jù)源管理>數(shù)據(jù)源,然后在頁面中單擊創(chuàng)建數(shù)據(jù)源,選擇需要錄入的數(shù)據(jù)源。

根據(jù)頁面提示進行配置,然后單擊創(chuàng)建數(shù)據(jù)源完成創(chuàng)建。

步驟二:配置同步鏈路

登錄 NineData 控制臺,單擊數(shù)據(jù)復(fù)制>數(shù)據(jù)復(fù)制,然后單擊創(chuàng)建復(fù)制。

根據(jù)頁面提示配置復(fù)制任務(wù),由于我們需要不停機遷移,需要在復(fù)制類型處勾選增量復(fù)制。

配置完成后啟動任務(wù),針對您配置的所有遷移對象,NineData 會先對所有的存量數(shù)據(jù)進行全量遷移,接下來就是實時同步 Oracle 中新增的增量數(shù)據(jù),所有新寫入的數(shù)據(jù)都將一條不漏地同步到 PostgreSQL,每當目標端的增量數(shù)據(jù)追平源端時,任務(wù)面板中會顯示延遲 0 秒,如下圖所示。

步驟三(可選):校驗?zāi)繕硕送綌?shù)據(jù)的完整性

除了同步功能以外,NineData 還提供了同步后源端和目標端同步數(shù)據(jù)的對比功能,以確保目標端數(shù)據(jù)的完整性。

登錄 NineData 控制臺,單擊數(shù)據(jù)復(fù)制>數(shù)據(jù)復(fù)制,然后單擊步驟二中創(chuàng)建的復(fù)制任務(wù) ID。

單擊數(shù)據(jù)對比頁簽,并單擊開啟數(shù)據(jù)對比(如果步驟二的任務(wù)配置中已勾選開啟數(shù)據(jù)一致性對比,則此處直接展示對比結(jié)果)。

提示

開啟后,系統(tǒng)將自動對比源端和目標端的同步對象,并給出對比結(jié)果。

您可以在一段時間后,單擊頁面中的重新對比,校驗最新增量數(shù)據(jù)的結(jié)果。

步驟四(可選):配置任務(wù)異常告警

由于是增量遷移任務(wù),您可能需要系統(tǒng)實時監(jiān)控任務(wù)狀態(tài),在任務(wù)有異常時即刻通知您。

登錄 NineData 控制臺,單擊數(shù)據(jù)復(fù)制>數(shù)據(jù)復(fù)制,然后單擊步驟二中創(chuàng)建的復(fù)制任務(wù) ID。

單擊右上角的配置告警。

輸入策略名稱,單擊保存配置即可。您可以直接使用內(nèi)置的默認規(guī)則,在任務(wù)運行失敗,或復(fù)制延遲大于等于 10 分鐘的時候,發(fā)送短信提醒您。您也可以自定義創(chuàng)建規(guī)則,根據(jù)您的需求來進行通知。

最后

在 NineData 將所有數(shù)據(jù)遷移到 PostgreSQL 之后(延遲為 0),最后一步是在業(yè)務(wù)低峰期,將業(yè)務(wù)流量切換至 PostgreSQL,即可完成整個 Oracle 到 PostgreSQL 的遷移。這個切換過程是非常關(guān)鍵,需要謹慎規(guī)劃執(zhí)行。

以上就是Oracle到PostgreSQL的不停機數(shù)據(jù)庫遷移的流程步驟的詳細內(nèi)容,更多關(guān)于Oracle到PostgreSQL數(shù)據(jù)庫遷移的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論