Oracle Golden Gate軟體是一種基于日志的結構化資料複制備份軟體,它通過解析源資料庫線上日志或歸檔日志獲得資料的增量變化,再将這些變化應用到目标資料庫,進而實作源資料庫與目标資料庫同步。Oracle Golden Gate可以在異構的IT基礎結構(包括幾乎所有常用作業系統平台和資料庫平台)之間實作大量資料亞秒一級的實時複制,進而在可以在應急系統、線上報表、實時資料倉庫供應、交易跟蹤、資料同步、集中/分發、容災、資料庫更新和移植、雙業務中心等多個場景下應用。同時,Oracle Golden Gate可以實作一對一、廣播(一對多)、聚合(多對一)、雙向、點對點、級聯等多種靈活的拓撲結構。
和傳統的邏輯複制一樣,Oracle GoldenGate實作原理是通過抽取源端的redo log或者archive log,然後通過TCP/IP投遞到目标端,最後解析還原應用到目标端,使目标端實作同源端資料同步。以下是OracleGoldenGate的技術架構
<a target="_blank" href="http://blog.51cto.com/attachment/201206/113748778.jpg"></a>
1:Manager程序:
Manager程序是GoldenGate的控制程序,運作在源端和目标端上。它主要作用有以下幾個方面:啟動、監控、重新開機Goldengate的其他程序,報告錯誤及事件,配置設定資料存儲空間,釋出閥值報告等。
2:Extract程序:
Extract運作在資料庫源端,負責從源端資料表或者日志中捕獲資料。
3:Pump程序:
pump程序運作在資料庫源端。其作用是如果源端使用了本地的trail檔案,那麼pump程序就會把trail以資料塊的形式通過TCP/IP協定發送到目标端,這通常也是推薦的方式。pump程序本質是extract程序的一種特殊形式,如果不使用trails檔案,那麼就是extract程序在抽取完資料以後,直接投遞到目标端。
4.Trail檔案:
為了更有效、更安全的把資料庫事務資訊從源端投遞到目标端。GoldenGate引進trail檔案的概念。前面提到extract抽取完資料以後Goldengate會将抽取的事務資訊轉化為一種GoldenGate專有格式的檔案。然後pump負責把源端的trail檔案投遞到目标端,是以源、目标兩端都會存在這種檔案。trail檔案存在的目的旨在防止單點故障,将事務資訊持久化,并且使用checkpoint機制來記錄其讀寫位置,如果故障發生,則資料可以根據checkpoint記錄的位置來重傳。
5.Replicat程序:
Replicat程序,通常我們也把它叫做應用程序。運作在目标端,是資料傳遞的最後一站,負責讀取目标端trail檔案中的内容,并将其解析為DML或DDL語句,然後應用到目标資料庫中。
6.GGSCI:
GGSCI是GoldenGate Software Command Interface 的縮寫,它提供了十分豐富的指令來對Goldengate進行各種操作,如建立、修改、監控GoldenGate程序等等
GoldenGate應用的拓展結構、支援平台和資料庫
<a target="_blank" href="http://blog.51cto.com/attachment/201206/113927444.jpg"></a>
本文所有内容來自網際網路,感謝作者分享!如有雷同,不勝榮幸!
本文轉自斬月部落格51CTO部落格,原文連結http://blog.51cto.com/ylw6006/903546如需轉載請自行聯系原作者
ylw6006