[Oracle] Golden Gate - 概念和機制
Golden Gate(簡稱OGG)提供異構環境下交易資料的即時捕捉、變換、投遞。
OGG支援的異構環境有:
OGG的特性:
- 對生產系統影響小:即時讀取交易日誌,以低資源佔用實現大交易量資料即時複製
- 以交易為單位複製,保證交易一致性:只同步已提交的資料
- 高效能
- 智能的交易重組和操作合并
- 使用資料庫本地介面訪問
- 平行處理體系
- 靈活的拓撲結構:支援一對一、一對多、多對一、多對多和雙向複製等
- 支援資料過濾和轉換
- 可以自訂基於表和行的過濾規則.
- 可以對即時資料執行靈活影射和變換.
- 提供資料壓縮和加密:降低傳輸所需頻寬,提高傳輸安全性.
OGG的工作原理:
OGG的進程:
- Manager進程是GoldenGate的控制進程,運行在源端和目標端上。它主要作用有以下幾個方面:啟動、監控、重啟Goldengate的其他進程,報告錯誤及事件,分配資料存放區空間,發布閥值報告等。在目標端和源端有且只有一個manager進程
- Extract運行在資料庫源端,負責從源端資料表或者日誌中捕獲資料。Extract的作用可以按照階段來劃分為:
- 初始時間裝載階段:在初始資料裝載階段,Extract進程直接從源端的資料表中抽取資料
- 同步變化捕獲階段:初始資料同步完成以後,Extract進程負責捕獲源端資料的變化(DML和DDL)
- Data Pump進程運行在資料庫源端,其作用是將源端產生的本地trail檔案,把trail以資料區塊的形式通過TCP/IP 協議發送到目標端,這通常也是推薦的方式。pump進程本質是extract進程的一種特殊形式,如果不使用trail檔案,那麼extract進程在抽取完資料以後,直接投遞到目標端,產生遠程trail檔案。
- Collector進程與Data Pump進程對應 的叫Server Collector進程,這個進程不需要引起我的關注清單,因為在實際操作過程中,無需我們對其進行任何配置,所以對我們來說它是透明的。它運行在目標端,其 任務就是把Extract/Pump投遞過來的資料重新組裝成遠程ttrail檔案。
- Replicat進程,通常我們也把它叫做應用進程。運行在目標端,是資料傳遞的最後一站,負責讀取目標端trail檔案中的內容,並將其解析為DML或 DDL語句,然後應用到目標資料庫中。
關於OGG的Trail檔案:
- 為了更有效、更安全的把資料庫事務資訊從源端投遞到目標端。GoldenGate引進trail檔案的概念。前面提到extract抽取完資料以後 Goldengate會將抽取的事務資訊轉化為一種GoldenGate專有格式的檔案。然後pump負責把源端的trail檔案投遞到目標端,所以源、目標兩端都會存在這種檔案。
- trail檔案存在的目的旨在防止單點故障,將事務資訊持久化,並且使用checkpoint機制來記錄其讀寫位置,如果故障發生,則資料可以根據checkpoint記錄的位置來重傳 。
Oracle教程:執行個體故障恢複
Linux-6-64下安裝Oracle 12C筆記
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2