Oracle GoldenGate 介紹及安裝配置教程
Oracle GoldenGate介紹
GoldenGate軟體是一種基於日誌的結構化資料複製軟體。GoldenGate 能夠實現大量交易資料的即時捕捉、變換和投遞,實現來源資料庫與目標資料庫的資料同步,保持亞秒級的資料延遲。
GoldenGate能夠支援多種拓撲結構,包括一對一,一對多,多對一,層疊和雙向複製等等
資料複製的拓撲結構有如下幾種
Goldegate的應用情境
- A static extraction of data records from one database and the loading of those records
- to another database.
- Continuous extraction and replication of transactional DML operations and DDL
- changes (for supported databases) to keep source and target data consistent.
- Extraction from a database and replication to a file outside the database.
架構概覽
Oracle Goldengate由以下組件組成
- Extract
- Data pump
- Replicat
- Trails or extract files
- Checkpoints
- Manager
- Collector
Extract 進程用來捕獲資料來源,有三種類型
- 配置為INITIAL LOAD模式時,資料來源為表。
- 資料庫的恢複日誌(有的資料庫也稱為交易記錄)。
- 第三方的捕獲模型,通過調用Extact API將資料庫變更的資料發送給Extract進程。
Data pump 是Extract的輔助可選組件,如果不配置Data pump,Extract將捕獲的資料直接發給目標機器上的Collector進程。
使用Data pump能提供如下優點
- 防止網路或者目標端的Collector發生故障,保護資料丟失。
- data pump可以用來過慮,轉換資料,或配置成Pass-through模式,即不做任何的動作,只是投遞資料。
- 啟動多個Data pump實現一對多的資料分發(或者是一張表的資料,根據資料類型發往不同的目的系統)
Replicat 運行在目的伺服器上,從Trail檔案中讀取資料,重構DML、DDL語句,並應用到目的資料庫上。你可以配置多個Replicat,並發的工作以提高系統的輸送量。
Trail 為了支援持續的捕獲、複製資料庫的變更,Oracle將捕獲來的資料庫變更臨時的記錄到一系列的磁碟檔案上。這些磁碟檔案被稱為Trail file。
一個Trail檔案只能被一個Extract進行寫。每個Extract進程必須連結到一個Trail檔案上。
Checkpoints 當Goldengate的進程宕掉後,可以恢複Goldengate執行個體。
Manager 是Goldengate的管理進程。
Extract和Replicat啟動之前,必須先在每個節點上啟動Manager進程。
Manager有如下功能
- Start Oracle GoldenGate processes
- Start dynamic processes
- Maintain port numbers for processes
- Perform trail management
- Create event, error, and threshold reports
Collector ,接收遠端系統傳輸的資料,並將其寫到Trail檔案中 。
group 概覽
為了區分系統中多個Extract或者Replicat進程,需要定義處理組
一個組包括如下內容
- 一個進程,Extract 或者Replicat
- 它的參數檔案
- 它的checkpoint檔案
- 任何與這個進程相關聯的其他檔案。
Oracle GoldenGate安裝配置教程
首先要下載Oracle GoldenGate的安裝包。如下
http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html
將Oracle GoldenGate安裝包上傳至伺服器
解壓壓縮包
[oracle@localhost app]$ mkdir /u01/app/ogg
[oracle@localhost app]$ unzip -d /u01/app/ogg ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
Archive: ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
inflating: /u01/app/ogg/fbo_ggs_Linux_x64_ora11g_64bit.tar
inflating: /u01/app/ogg/OGG_WinUnix_Rel_Notes_11.2.1.0.1.pdf
inflating: /u01/app/ogg/Oracle GoldenGate 11.2.1.0.1 README.txt
inflating: /u01/app/ogg/Oracle GoldenGate 11.2.1.0.1 README.doc
[oracle@localhost app]$ cd ogg/
[oracle@localhost ogg]$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
修改環境變數,添加PATH、LD_LIBARY_PATH
[oracle@localhost ~]$ vi .bash_profile
export PATH=/u01/app/ogg/:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=/u01/app/ogg:$ORACLE_HOME/lib:/lib:/usr/lib
wKiom1X3ldaAb38mAAB3TDYZgWE819.jpg
進入ogg的安裝目錄,運行ggsci命令
[oracle@localhost ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
GGSCI (localhost.localdomain) 1>
建立OGG的工作目錄
GGSCI (localhost.localdomain) 1> create subdirs
Creating subdirectories under current directory /u01/app/ogg
Parameter files /u01/app/ogg/dirprm: already exists
Report files /u01/app/ogg/dirrpt: created
Checkpoint files /u01/app/ogg/dirchk: created
Process status files /u01/app/ogg/dirpcs: created
SQL script files /u01/app/ogg/dirsql: created
Database definitions files /u01/app/ogg/dirdef: created
Extract data files /u01/app/ogg/dirdat: created
Temporary files /u01/app/ogg/dirtmp: created
Stdout files /u01/app/ogg/dirout: created
配置Manager進程的參數
GGSCI (localhost.localdomain) 6> EDIT PARAMS MGR
添加如下內容,定義Manger進程的通訊連接埠
-- This is the minimal configuration of Manager
PORT 7809
-- 後面是注釋
啟動Manager進程
GGSCI (localhost.localdomain) 14> start mgr
Manager started.
查看Manager進程
GGSCI (localhost.localdomain) 17> info mgr
Manager is running (IP port localhost.localdomain.7809).
停止Manager進程
GGSCI (localhost.localdomain) 18> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)? y
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.
如果忽略確認資訊
GGSCI (localhost.localdomain) 20> stop mgr !
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.
Oracle GoldenGate 學習教程一:介紹和安裝
Oracle GoldenGate 學習教程二、配置和使用
Oracle GoldenGate 學習教程三、加密