ogg概敘、架構、程式
一. OGG 概述
OGG 全稱Oracle Golden Gate。
歷史:
Golden Gate公司於1995年成立於美國加州舊金山,它的名稱源自舊金山聞名於世的金門大橋。兩位創始人Eric Fish和Todd Davidson最初旨在為Tandem計算機公司設計一個容錯系統,由於Golden Gate的健壯性和出色的資料複製功能,銀行用它來把ATM網路的交易資料傳送到IBM大型機,後來廣泛地應用到金融行業及要求資料複製高效、健壯的各個行業。該公司於2009年9月被Oracle公司收購,在此之前Oracle和Golden Gate公司就有了長達超過10年的合作關係。在Oracle收購Golden Gate以後,與Oracle原有的 Data Guard互為補充,共同為企業提供跨平臺實時資料同步的解決方案。
Golden Gate 軟體分類說明:
(1)Golden Gate:包括GoldenGate Capture, Deliver 和Active Data Guard, XStream on Oracle DB,並支援各種開放資料系統,是我們通常講的OGG的概念。
(2)Golden Gate Director:實際上,在下載的時候,可以發現沒有Director的類目了,替換的是一個Golden Gate Management Pack的包,其實這個就是之前的OGG Director。Management Pack是基於瀏覽器的管理工具包,有限使用WebLogic SE,所以配置MP,需要先安裝weblogic。
(3)Golden Gate Veridata:跨平臺比較複製的源庫和目標庫,為Golden Gate源端和目標端提供資料比對和校驗的功能。
另外,也有不太常見的:
(1)Golden Gate for Mainframe:包括GoldenGate Capture, Deliver for HP Non-Stop, IBM DB2 on
Mainframe, plus Syncfile。
(2)Golden Gate Adapters:對Java、Flat File、Siebel等的介面包。
(1)Golden Gate for Mainframe:包括GoldenGate Capture, Deliver for HP Non-Stop, IBM DB2 on
Mainframe, plus Syncfile。
(2)Golden Gate Adapters:對Java、Flat File、Siebel等的介面包。
二 、OGG架構
支援的異構平臺:
支援的架構形式:
實現的功能:
三、目錄結構
目錄 說明
BR boundedrecover需要的checkpointfiles
cfg 配置OGG監控所需要的property和XML檔案
dirchk Extract或者Replicat程式建立的checkpointfile。cpe和cpr字尾
dirdat trial檔案的預設存放位置,2個使用者定義的字元+6個數字組成
dirdef 異構資料定義檔案,由DEFGEN生成
dirjar OGGmonitor相關的jar包
dirpcs 程式狀態檔案
dirprm 引數檔案
dirrpt 程式報告的儲存目錄
dirsql Sql指令碼
dirtmp 超出分配記憶體的事務臨時儲存目錄
cfg 配置OGG監控所需要的property和XML檔案
dirchk Extract或者Replicat程式建立的checkpointfile。cpe和cpr字尾
dirdat trial檔案的預設存放位置,2個使用者定義的字元+6個數字組成
dirdef 異構資料定義檔案,由DEFGEN生成
dirjar OGGmonitor相關的jar包
dirpcs 程式狀態檔案
dirprm 引數檔案
dirrpt 程式報告的儲存目錄
dirsql Sql指令碼
dirtmp 超出分配記憶體的事務臨時儲存目錄
四、 OGG程式
在Oracle OGG 12c中,有如下元件:
(1)Extract
(2)Data pump
(3)Replicat
(4)Trails 或 extract files
(5)Checkpoints
(6)Manager
(7)Collector
(1)Extract
(2)Data pump
(3)Replicat
(4)Trails 或 extract files
(5)Checkpoints
(6)Manager
(7)Collector
1. Extract 程式
Extract 程式負責資料抽取工作。
Extract 可以配成如下兩種模式:(1)Initial Load:
在初始化裝載過程中,Extract 程式直接從源物件中抽取當前的資料。
(2)Change synchronization:
為了保證源資料和其他物件保持資料的一致,extract 程式會捕獲源物件自初始化同步以後的DML 和DDL 的變化。
如果接收到的是rollback,那麼Extract 會清除該事務之前的所有記錄。
如果接收到的是commit,Extract 會將之前儲存的事務資訊進行持久化,即將事務資訊寫入磁碟上的trail 檔案,然後按佇列傳送到目標庫。
2.Data Pump 程式
Data pump 程式是OGG 源庫上的一個輔助Extract Group。
3. Replicat 程式
Replicate 程式執行在目標系統上,該程式會讀取目標端的trail中的檔案,並將解析為DML 或者DDL 語句,然後在目標資料庫執行。
Replicate可以配置成如下模式:
(1)Initial loads:
(1)Initial loads:
(2)Change synchronization
4. Trails 檔案
為了支援連續的extraction 和 replication 資料的改變,OGG抓取這些改變的資料臨時存放在一個序列化的磁碟檔案裡, 這個檔案就叫trail。
Trail 檔案可以放在源端或者目標端的系統裡,甚至可以放到臨時中轉的系統上,這主要取決與GG 的配置,如果存放在local system上,就叫extract trail 或者 local trail,如果存放在remote system上就叫作remote trail。
Trail 檔案可以放在源端或者目標端的系統裡,甚至可以放到臨時中轉的系統上,這主要取決與GG 的配置,如果存放在local system上,就叫extract trail 或者 local trail,如果存放在remote system上就叫作remote trail。
建立和維護Trail 檔案:
預設情況下,trails存放在GG 安裝目錄的dirdat 子目錄下。
預設情況下,每個trails的檔案是10M,為了保證程式的正常執行必須不斷的建立的新的trail 檔案。 這個過程由OGG 自動實現,並且不影響OGG的執行。
每個新生成的檔案,檔名都會繼承舊trail檔案的前2個字母,然後加上6個數字,這樣來進行唯一性約束。 數字從000000到999999。當數字到達999999時,又繼續從000000開始。之前的trail 檔案被覆蓋。
補充: (Extract Files)
Extract file 可以是一個檔案,或者配置成多個檔案。 配置成多個檔案可以避免觸及操作對單個檔案最大大小的限制。
Extract file 和 trail 檔案很類似,但是Extract file中不會儲存checkpoints的資訊。 Extract file 會在執行時自動建立。
Extract file 和 trail 檔案很類似,但是Extract file中不會儲存checkpoints的資訊。 Extract file 會在執行時自動建立。
5. Checkpoints 機制
Replicate都會checkpoint table 和 checkpoint file中記錄事務的位置。我們也可以不使用checkpoint table。
6. Manager 程式
Manager 是Golden Gate的控制程式,Manager 必須在所有的Golden Gate端執行,並且要在Extract 或者 Replicat 程式啟動之前執行。 在Extract 或者 Replicat程式執行期間,需要一直保證Manager程式的執行,這樣才能管理相關的資源。
Manager 程式有如下功能:
(1)啟動Golden Gate 程式
(2)啟動其他相關的程式
(3)維護程式的埠
(4)管理trail 程式
(5)建立event,error和threshold 的報告。
(1)啟動Golden Gate 程式
(2)啟動其他相關的程式
(3)維護程式的埠
(4)管理trail 程式
(5)建立event,error和threshold 的報告。
7. Collector 程式
target的一個後臺程式。
Collector 程式做如下工作:
(1) 將源端Extract 程式的請求傳送到Manager程式,掃描並繫結可用的埠,並將埠資訊返回給Manager 程式,然後分配給請求的的Extract 程式。
(2) Collector 程式會接收源庫Extract 程式傳送過來的改變的資料,並將資料寫入target 系統的trail 檔案中。
(1) 將源端Extract 程式的請求傳送到Manager程式,掃描並繫結可用的埠,並將埠資訊返回給Manager 程式,然後分配給請求的的Extract 程式。
(2) Collector 程式會接收源庫Extract 程式傳送過來的改變的資料,並將資料寫入target 系統的trail 檔案中。
若srouce 端pump 程式起不來,collector 會鎖trail 檔案 。 那麼我需要確認是哪個pump程式出現問題,view report pump#,檢視後找到collector ,kill -9 殺死。
補充說明:
每個Extract 和 Replicat 程式需要大約25-55M的記憶體。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2134701/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CUDA與架構矩陣概覽架構矩陣
- MMN實用架構過程概覽架構
- 王概凱《架構漫談》閱讀筆記架構筆記
- 王概凱架構漫談閱讀筆記架構筆記
- PLSQL Language Reference-PL/SQL概覽-PL/SQL架構SQL架構
- Spring Cloud Netflix 概覽和架構設計SpringCloud架構
- Flink原理與實現:架構和拓撲概覽架構
- Oracle程式架構Oracle架構
- 小程式架構架構
- OGG拆分程式
- Oracle 結構概況Oracle
- particle雲架構程式碼結構架構
- java架構的程式碼結構Java架構
- vivo商城促銷系統架構設計與實踐-概覽篇架構
- Spring Cloud雲服務架構 - 雲架構程式碼結構構建SpringCloud架構
- 面向架構程式設計架構程式設計
- OGG 程式清除、重建
- ogg的manager程式
- Spring Cloud雲服務架構 - HongHu雲架構程式碼結構構建SpringCloud架構
- Spring Cloud雲服務架構 - HongHu雲架構程式碼結構分析SpringCloud架構
- (五) 整合spring cloud雲服務架構 - 雲架構程式碼結構構建SpringCloud架構
- 小程式渲染架構設計架構
- 瀏覽器多程式架構瀏覽器架構
- 程式碼的架構之說架構
- oracle架構之後臺程式Oracle架構
- OGG 複製程式拆分
- 配置ogg異構oracle到mysqlOracleMySql
- 程式碼架構設計-1.為什麼要做好程式碼架構設計架構
- MySQL體系結構概覽MySql
- oracle體系結構概覽Oracle
- 架構之:serverless架構架構Server
- 為“架構”再建個模:如何用程式碼描述軟體架構?架構
- 架構重構--改善既有程式碼的設計架構
- Google官方應用程式架構指南Go架構
- 策略程式的一般架構架構
- LNMP架構下的程式模型分析LNMP架構模型
- 探索小程式底層架構原理架構
- Linux tty驅動程式 架構Linux架構