OGG學(xué)習(xí)筆記01-基礎(chǔ)概述
OGG(Oracle Golden Gate),最近幾年在數(shù)據(jù)同步、容災(zāi)領(lǐng)域特別火,甚至比Oracle自己的原生產(chǎn)品DataGuard還要風(fēng)光,主要是因為其跨平臺、跨數(shù)據(jù)庫、跨版本的強大特性。

OGG理論概念

我們可以搜索到網(wǎng)上對它的簡單介紹:

Oracle Golden Gate軟件是一種基于日志的結(jié)構(gòu)化數(shù)據(jù)復(fù)制備份軟件,它通過解析源數(shù)據(jù)庫在線日志或歸檔日志獲得數(shù)據(jù)的增量變化,再將這些變化應(yīng)用到目標(biāo)數(shù)據(jù)庫,從而實現(xiàn)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫同步。
Oracle Golden Gate可以在異構(gòu)的IT基礎(chǔ)結(jié)構(gòu)(包括幾乎所有常用操作系統(tǒng)平臺和數(shù)據(jù)庫平臺)之間實現(xiàn)大量數(shù)據(jù)亞秒一級的實時復(fù)制,從而可以在應(yīng)急系統(tǒng)、在線報表、實時數(shù)據(jù)倉庫供應(yīng)、交易跟蹤、數(shù)據(jù)同步、集中/分發(fā)、容災(zāi)、數(shù)據(jù)庫升級和移植、雙業(yè)務(wù)中心等多個場景下應(yīng)用。同時,Oracle Golden Gate可以實現(xiàn)一對一、廣播(一對多)、聚合(多對一)、雙向、點對點、級聯(lián)等多種靈活的拓撲結(jié)構(gòu).

目前許多客戶環(huán)境都已經(jīng)在廣泛使用OGG。由于工作需要,近期我也會系統(tǒng)的學(xué)習(xí)下OGG,目前學(xué)習(xí)主要以O(shè)GG在Oracle數(shù)據(jù)庫之間的同步來說明一些基本概念,后續(xù)看時間情況可能了解OGG對其他主流數(shù)據(jù)庫的同步。
假設(shè)已有源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫,且分別部署好OGG軟件。
源數(shù)據(jù)庫部署的OGG,簡稱源OGG;目標(biāo)數(shù)據(jù)庫部署的OGG,簡稱目標(biāo)OGG。

同步的過程就是源OGG的EXTRACT進程從源數(shù)據(jù)庫的聯(lián)機redologs中抽取獲得變化,把它寫到本地trail文件中,然后源OGG的Data pump進程再從本地trail文件中抽取變化傳給目標(biāo)OGG的collector進程,目標(biāo)的collector進程再把這些變化寫入目標(biāo)trail文件中,最后目標(biāo)OGG的Replicat進程把目標(biāo)trail文件中記錄的變化應(yīng)用到目標(biāo)數(shù)據(jù)庫中。
如果要同步的表數(shù)量比較多或是業(yè)務(wù)有區(qū)分,需要分開管理,OGG是支持分開多個extract進程,多個datapump進程,多個replicat進程,這樣,可以啟動或停止其中任意一類同步,而不影響其他的同步。

由此,我們可以得到一張Oracle