2022年7月6日 星期三

2. Golden Gate 安裝與前置設定

Oracle Golden Gate 是一個輕量軟體,早期在 OGG 12c 的版本之前,軟體的安裝只不過是把下載下來的軟體解壓縮就可以使用了,值得注意的是,在 OGG 12c 之前的軟體種類區分的非常細,例如要使用 OGG 11g 同步在 Linux上面的 Oracle 10g 的資料庫就必須下載 OGG 11g for Oracle 10g On Linux ,如果是 Oracle 9i 的資料庫就必須下載 OGG 11g for Oracle 9i On Linux :


到了 OGG 12c 的版本之後就沒有區分到這麼細了,軟體只有區分 for 不同的資料庫以及作業系統平台,此外,對於 OGG 12c for Oracle 來說,軟體的安裝必須使用 runInstaller ,比起以往只需要解壓縮, runInstaller 是不是讓 OGG 覺得有 "安裝" 的感覺呢 ?  使用 runInstaller 安裝 OGG ,預設需要使用 XWindows 開啟圖型介面進行安裝,例如安裝 OGG 12c , OGG 12c 可以支援 Oracle 11g 與 12c 的版本,因此安裝一開始必須選擇此次 OGG 是要搭配 Oracle 11g 或 12c 來使用 :


接下來就是設定軟體安裝位置然後就開始進行安裝 :


雖然是 runInstaller 的安裝,不過實際上所做的事也只不過是把軟體解壓縮回來而已,安裝的過程是可以不需要使用圖型介面的,我們只需要編輯 response file 來設定幾個簡單的參數,就可以使用 Silent Mode 來安裝, response file 在 OGG 軟體的 response 目錄下已經有現成的範本 oggcore.rsp ,只需要為 oggcore.rsp 填入幾個參數就完成 response file 的設定 :

oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v12_1_2       (軟體範本的設定,無須改動)

INSTALL_OPTION=ORA11g   (ORA11g 表示 OGG for Oracle 11g) 

SOFTWARE_LOCATION=/u01/app/ogg   (設定 OGG 軟體安裝位置)

START_MANAGER=            (無須設定)

MANAGER_PORT=             (無須設定)

DATABASE_LOCATION=       (無須設定)

INVENTORY_LOCATION=/opt/app/oraInventory

UNIX_GROUP_NAME=oinstall


編輯完 response file 之後就可以使用 Silent Mode 進行安裝 :

$ ./runInstaller –silent –responsefile oggcore.rsp


安裝完成後必須設定環境變數 LD_LIBRARY_PATH 才可以進入 ggsci ,否則會出現找不到 library 的錯誤, 如果是 OGG 19c 之後的版本需要再設定環境變數 GG_HOME :

$ export GG_HOME=/u01/app/ogg

$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GG_HOME:$GG_HOME/lib


最後進入 ggsci 執行 create subdirs 建立目錄後,完成安裝 :

$ ./ggsci

GGSCI> create subdirs


安裝完成後的第一件事就是將 MGR 啟動,進入 ggsci 編輯 MGR 參數 :

$ ./ggsci

GGSCI> edit param mgr


MGR 參數如下 :

PORT 7809

DYNAMICPORTLIST 9101-9121

PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepfiles 10

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45


PORT : 設定 PORT Number 為 7809 。

DYNAMICPORTLIST : 設定 PORT Range 為 9101-9121 ,在 Source 與 Target 中間有防火牆需要開通時,才需要使用這個設定。

PURGEOLDEXTRACTS : 設定自動刪除 Trail File ,以 check point 為基準,在 Trail 被使用之後進行刪除,最少保留 10 個檔就好。

LAGREPORTHOURS : 設定為 1 表示每隔 1 小時檢查同步有無 Lag 。

LAGINFOMINUTES : 設定為 30 表示當 Lag 達到 30 分鐘以上就將此延遲記錄寫入 error log 。

LAGCRITICALMINUTES : 設定為 45 表示當 Lag 達到 45 分鐘以上就將此記錄視為告警並寫入 error log 。


完成參數設定後就可以啟動 MGR ,完成初步 OGG 的設定 :

$ ./ggsci

GGSCI> start mgr


如果是 Windows 平台,可以把 MGR 的啟動加入到 Windows 服務當中,於 GG_HOME 底下執行 :

C:\GGS>  Install AddService AddEvents


接下來在 Oracle 資料庫當中必須建立一個給 OGG 所用的專屬使用者並賦予相關權限 :

SQL> create tablespace ogg datafile '/u01/oradata/ogg.dbf' size 500M;

SQL> create user ogg identified by ogg default tablespace ogg;

SQL> exec dbms_streams_auth.grant_admin_privilege('OGG');(10g 之前使用)

SQL> exec dbms_goldengate_auth.grant_admin_privilege('OGG');(11g 之後使用)

SQL> grant dba to ogg;  (直接授予 dba 權限,或是授予以下權限)

SQL> grant create any table to ogg;

      grant create any view to ogg;

      grant create any procedure to ogg;

      grant create any sequence to ogg;

      grant create any index to ogg;

      grant create any trigger to ogg;


建立完使用者之後,使用 ggsci 建立 OGG 的 check point table :

GGSCI> dblogin userid ogg, password ogg

GGSCI> add checkpointtable ogg.ggschkpt


對於 Oracle 11g 之後的資料庫版本,需要打開參數 enable_goldengate_replication :

SQL> alter system set enable_goldengate_replication=true;


在一切準備就緒後,接下來就可以開始來設定 OGG 的同步機制。



沒有留言:

張貼留言