資源描述:
《Oracle GoldenGate功能介紹!》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、OracleGoldenGate產(chǎn)品介紹一、OracleGoldenGate技術(shù)原理OracleGoldenGate軟件是一種基于log(日志)的結(jié)構(gòu)化數(shù)據(jù)復(fù)制軟件,它通過(guò)解析源數(shù)據(jù)庫(kù)在線log或歸檔log獲得數(shù)據(jù)的增、刪、改變化,再將這些變化應(yīng)用到目標(biāo)數(shù)據(jù)庫(kù),實(shí)現(xiàn)源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)同步、雙活。OracleGoldenGate軟件可以在異構(gòu)的IT基礎(chǔ)結(jié)構(gòu)(包括幾乎所有常用操作系統(tǒng)平臺(tái)和數(shù)據(jù)庫(kù)平臺(tái))之間實(shí)現(xiàn)大量數(shù)據(jù)亞秒級(jí)的實(shí)時(shí)復(fù)制,其復(fù)制過(guò)程簡(jiǎn)圖如下:如上圖所示,OracleGoldenGate的數(shù)
2、據(jù)復(fù)制過(guò)程如下:?利用捕捉進(jìn)程(CaptureProcess)在源系統(tǒng)端讀取OnlineRedoLog或ArchiveLog,然后進(jìn)行解析,只提取其中數(shù)據(jù)的變化如增、刪、改操作,并將相關(guān)信息轉(zhuǎn)換為OracleGoldenGate自定義的中間格式存放在隊(duì)列文件中。再利用傳送進(jìn)程將隊(duì)列文件通過(guò)TCP/IP傳送到目標(biāo)系統(tǒng)。捕捉進(jìn)程在每次讀完log中的數(shù)據(jù)變化并在數(shù)據(jù)傳送到目標(biāo)系統(tǒng)后,會(huì)寫(xiě)檢查點(diǎn),記錄當(dāng)前完成捕捉的log位置,檢查點(diǎn)的存在可以使捕捉進(jìn)程在中止并恢復(fù)后可從檢查點(diǎn)位置繼續(xù)復(fù)制;?目標(biāo)系統(tǒng)接受數(shù)據(jù)
3、變化并緩存到OracleGoldenGate隊(duì)列當(dāng)中,隊(duì)列為一系列臨時(shí)存儲(chǔ)數(shù)據(jù)變化的文件,等待投遞進(jìn)程讀取數(shù)據(jù)。隊(duì)列數(shù)據(jù)量一般只有l(wèi)og的四分之一左右;?OracleGoldenGate投遞進(jìn)程從隊(duì)列中讀取數(shù)據(jù)變化并創(chuàng)建對(duì)應(yīng)的SQL語(yǔ)句,通過(guò)數(shù)據(jù)庫(kù)的本地接口執(zhí)行,提交到數(shù)據(jù)庫(kù)成功后更新自己的檢查點(diǎn),記錄已經(jīng)完成復(fù)制的位置,數(shù)據(jù)的復(fù)制過(guò)程最終完成。由此可見(jiàn),OracleGoldenGate是一種基于軟件的數(shù)據(jù)復(fù)制方式,它從數(shù)據(jù)庫(kù)的log解析數(shù)據(jù)的變化。OracleGoldenGate將數(shù)據(jù)變化轉(zhuǎn)化為自
4、己的格式,直接通過(guò)TCP/IP網(wǎng)絡(luò)傳輸,無(wú)需依賴(lài)于數(shù)據(jù)庫(kù)自身的傳遞方式,而且可以通過(guò)高達(dá)9:1的壓縮率對(duì)數(shù)據(jù)進(jìn)行壓縮,可以大大降低帶寬需求。在目標(biāo)端,OracleGoldenGate可以通過(guò)交易重組,分批加載等技術(shù)手段大大加快數(shù)據(jù)投遞的速度和效率,降低目標(biāo)系統(tǒng)的資源占用,可以在亞秒級(jí)實(shí)現(xiàn)大量數(shù)據(jù)的復(fù)制,并且目標(biāo)端數(shù)據(jù)庫(kù)是活動(dòng)的。OracleGoldenGate支持多種拓?fù)浣Y(jié)構(gòu),為用戶(hù)數(shù)據(jù)復(fù)制方案的靈活性、先進(jìn)性奠定基礎(chǔ),如圖所示:OracleGoldenGate各種拓?fù)浣Y(jié)構(gòu)示意圖1.單向數(shù)據(jù)復(fù)制:由
5、一個(gè)源數(shù)據(jù)庫(kù)復(fù)制到一個(gè)目的數(shù)據(jù)庫(kù),一般用于高可用性和容災(zāi),為生產(chǎn)機(jī)保持一個(gè)活動(dòng)的備用數(shù)據(jù)庫(kù),從而在發(fā)生災(zāi)難的時(shí)候迅速切換,減少數(shù)據(jù)丟失和停機(jī)時(shí)間;2.雙向數(shù)據(jù)復(fù)制:利用OracleGoldenGate可以實(shí)現(xiàn)兩個(gè)數(shù)據(jù)庫(kù)之間數(shù)據(jù)的雙向復(fù)制,任何一方的數(shù)據(jù)變化都會(huì)被傳遞到另一端,可以利用此模式開(kāi)展雙業(yè)務(wù)中心;3.廣播復(fù)制:由一個(gè)數(shù)據(jù)庫(kù)向多個(gè)數(shù)據(jù)庫(kù)復(fù)制,利用OracleGoldenGate的數(shù)據(jù)過(guò)濾功能可以實(shí)現(xiàn)數(shù)據(jù)的有選擇分發(fā);4.集中復(fù)制:由多個(gè)數(shù)據(jù)庫(kù)向一個(gè)數(shù)據(jù)庫(kù)復(fù)制,可以將分布的、跨平臺(tái)或異構(gòu)的多個(gè)數(shù)
6、據(jù)庫(kù)集中到一個(gè)數(shù)據(jù)庫(kù)。此種模式廣泛應(yīng)用于N+1模式的容災(zāi),通過(guò)將多個(gè)系統(tǒng)數(shù)據(jù)庫(kù)集中到一起,可以充分利用備份中心的設(shè)施,大幅減少投資;另外也用于跨平臺(tái)多系統(tǒng)的數(shù)據(jù)集成,為這些提供系統(tǒng)提供一個(gè)統(tǒng)一視圖便于查詢(xún)和統(tǒng)計(jì)數(shù)據(jù)。1.多層復(fù)制:由A數(shù)據(jù)庫(kù)向B復(fù)制,同時(shí)又由B向C復(fù)制,可以在以上幾種模式基礎(chǔ)上無(wú)限制擴(kuò)展。由此可見(jiàn),OracleGoldenGate的復(fù)制模式非常靈活,用戶(hù)可以根據(jù)自己的需求選擇特定的復(fù)制方式,并根據(jù)系統(tǒng)擴(kuò)展對(duì)復(fù)制進(jìn)行擴(kuò)展二、復(fù)制的可靠性O(shè)racleGoldenGate可以提供可靠的數(shù)據(jù)
7、復(fù)制,主要體現(xiàn)在下面三點(diǎn):l保證事務(wù)一致性O(shè)racleGoldenGate在災(zāi)備數(shù)據(jù)庫(kù)應(yīng)用復(fù)制數(shù)據(jù)庫(kù)交易的順序與在生產(chǎn)中心數(shù)據(jù)庫(kù)上的順序相同,并且按照相同的事務(wù)環(huán)境提交,確保在目標(biāo)系統(tǒng)上數(shù)據(jù)的完整性和讀一致性,為實(shí)時(shí)查詢(xún)和事務(wù)處理創(chuàng)造了條件。l檢查點(diǎn)機(jī)制保障數(shù)據(jù)無(wú)丟失OracleGoldenGate的抽取和復(fù)制進(jìn)程使用檢查點(diǎn)機(jī)制記錄完成復(fù)制的位置。對(duì)于抽取進(jìn)程,其檢查點(diǎn)記錄當(dāng)前已經(jīng)抽取log的位置和寫(xiě)隊(duì)列文件的位置;對(duì)于投遞進(jìn)程,其檢查點(diǎn)記錄當(dāng)前讀取隊(duì)列文件的位置。檢查點(diǎn)機(jī)制可以保證在系統(tǒng)、網(wǎng)絡(luò)或O
8、racleGoldenGate進(jìn)程故障重啟后數(shù)據(jù)無(wú)丟失。l可靠的數(shù)據(jù)傳輸機(jī)制OracleGoldenGate用應(yīng)答機(jī)制傳輸交易數(shù)據(jù),只有在得到確認(rèn)消息后才認(rèn)為數(shù)據(jù)傳輸完成,否則將自動(dòng)重新傳輸數(shù)據(jù),從而保證了抽取出的所有數(shù)據(jù)都能發(fā)送到備用端。數(shù)據(jù)傳輸過(guò)程中支持128位加密和數(shù)據(jù)壓縮功能;GoldenGate支持操作系統(tǒng)和數(shù)據(jù)庫(kù)類(lèi)型OracleGoldenGate可以在異構(gòu)的IT基礎(chǔ)結(jié)構(gòu)之間實(shí)現(xiàn)大量數(shù)據(jù)的亞秒級(jí)的數(shù)據(jù)捕捉、轉(zhuǎn)換和投遞。OracleGoldenGate支持幾