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

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

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

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

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

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

然而,Oracle 到 PostgreSQL 的遷移并不是說(shuō)遷就能遷的,有很多不得不解決的問(wèn)題。

Oracle 遷移到 PostgreSQL 不得不解決的問(wèn)題

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

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

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

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

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

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

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

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

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

輕松解決且非常愉快,下面來(lái)看看怎么操作。

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

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

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

步驟二:配置同步鏈路

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

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

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

步驟三(可選):校驗(yàn)?zāi)繕?biāo)端同步數(shù)據(jù)的完整性

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

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

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

提示

開(kāi)啟后,系統(tǒng)將自動(dòng)對(duì)比源端和目標(biāo)端的同步對(duì)象,并給出對(duì)比結(jié)果。

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

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

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

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

單擊右上角的配置告警。

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

最后

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

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

相關(guān)文章

最新評(píng)論