真實環境的OracleGoldenGate配置引數詳解 -- 災備端

silencelion99發表於2015-10-24
本文分為兩篇,第一篇介紹生產端的管理程式配置引數、抽取程式配置引數、投遞程式配置引數;
http://blog.itpub.net/29047826/viewspace-1271830/

本篇為第二篇,介紹災備端管理程式配置引數和複製程式配置引數。以下列出的所有配置檔案都屬於災備端,


啟動的程式
GGSCI 3> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
REPLICAT    RUNNING     REPSA       00:00:00      00:00:09
REPLICAT    RUNNING     REPSB       00:00:00      00:00:08
REPLICAT    RUNNING     REPSC       00:00:00      00:00:08
REPLICAT    RUNNING     REPSD       00:00:00      00:00:09
REPLICAT    RUNNING     REPSE       00:00:00      00:00:08
REPLICAT    RUNNING     REPSF       00:00:00      00:00:08
REPLICAT    RUNNING     REPSG       00:00:00      00:00:08
REPLICAT    RUNNING     REPSH       00:00:00      00:00:08
REPLICAT    RUNNING     REPSI       00:00:00      00:00:09
REPLICAT    RUNNING     REPSJ       00:00:00      00:00:09
REPLICAT    RUNNING     REPSK       00:00:00      00:00:08
REPLICAT    RUNNING     REPSL       00:00:00      00:00:09
REPLICAT    RUNNING     REPSM       00:00:00      00:00:09
REPLICAT    RUNNING     REPSN       00:00:00      00:00:08
REPLICAT    RUNNING     REPSO       00:01:24      00:00:01
REPLICAT    RUNNING     REPSP       00:00:00      00:00:08
REPLICAT    RUNNING     REPSQ       00:00:00      00:00:09
REPLICAT    RUNNING     REPSR       00:00:00      00:00:09
REPSA-R一共18個程式都是災備端複製程式。開啟多個複製程式可以緩解生產端表過多所帶來的壓力。

管理程式
GGSCI 4> view params mgr

PORT 7839

USERID goldengate, PASSWORD AACAAAAAAAAAAAJAPJYATHVIMGMAOFHIUCUEPFYGGJBFJGIH, ENCRYPTKEY default
DYNAMICPORTLIST 7840-7914
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 5

--PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
--PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
PORT 7839
通訊埠7839。 生產端和災備端需要保持一致。

DYNAMICPORTLIST  7840-7914
動態埠列表的範圍從7840到7914。當制定埠被佔用或者出現通訊故障,管理程式將會從列表中選擇下一個埠嘗試連線,避免通訊埠的單點故障。

AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
當提取程式中斷後嘗試自動重啟,每隔7分鐘嘗試啟動一次,嘗試5次。OGG運維人員通常會註釋掉這條配置,更喜歡用手工重啟的方式來控制。

PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 5
定期清理dirdat路徑下的遠端佇列(remote trail)。保留期限5天,過期後自動刪除。從而控制佇列檔案的目錄不會增長過大。

--PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
刪除DDL歷史表,最小儲存7天,最大儲存10天。由於此專案沒有開啟DDL,所以該引數被註釋。

--PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
刪除MARKER歷史表,最小儲存7天,最大儲存10天。此專案沒有使用該引數,所以該引數被註釋。

LAGREPORTHOURS 1
每隔一小時檢查一次傳輸延遲情況

LAGINFOMINUTES 30
傳輸延時超過30分鐘將寫入錯誤日誌

LAGCRITICALMINUTES 45
傳輸延時超過45分鐘將寫入警告日誌

複製程式
GGSCI 6> view params repsa

REPLICAT repsa
SETENV (NLS_LANG = "American_America.UTF8")
SETENV (ORACLE_SID = "xxxx" )
USERID goldengate, PASSWORD AACAAAAAAAAAAAJAPJYATHVIMGMAOFHIUCUEPFYGGJBFJGIH, ENCRYPTKEY default
--SQLEXEC "ALTER SESSION SET CONSTRAINTS=DEFERRED"
DBOPTIONS DEFERREFCONST6>
GETTRUNCATES
REPORT AT 06:00
REPORTCOUNT EVERY 30 MINUTES, RATE
REPORTROLLOVER AT 02:00
REPERROR DEFAULT, ABEND
--HANDLECOLLISIONS
ALLOWNOOPUPDATES
assumetargetdefs
DISCARDFILE ./dirrpt/repsa.dsc, APPEND, MEGABYTES 1024M
DISCARDROLLOVER AT 02:00
—Schema名稱涉及敏感字元,在此統一使用Schema來代替
—table名稱涉及敏感字元,在此統一使用table來代替
map Schema1.table1, target Schema1.table1;
map Schema1.table2, target Schema1.table2;
map Schema2.table1, target Schema2.table1;
map Schema2.table2, target Schema2.table2;
SETENV (NLS_LANG="AMERICAN_AMERICA.UTF8")
設定字符集環境變數為UTF8
如果系統中存在多個資料庫有時候會用引數SETENV設定ORACLE_HOME、ORACLE_SID等,例如:
SETENV (ORACLE_HOME = “/home/oracle/product/10.2.0/db)
SETENV (ORACLE_SID = “PROD”)

DBOPTIONS DEFERREFCONST
約束延遲設定。在複製程式的事物被提交之前,延遲級聯刪除、級聯更新時的校驗和實施。

GETTRUNCATES
不捕獲生產端truncate table的操作。

REPORT AT 06:00
每天早上6點報告

REPORTCOUNT EVERY 30 MINUTES, RATE
每隔30分鐘報告一次從程式開始到現在的抽取程式或者複製程式的事物記錄數,並彙報程式的統計資訊

REPORTROLLOVER AT 02:00
為了防止report file被寫滿,每天2:00做一次檔案過期設定

REPERROR DEFAULT, ABEND
除了特殊指定的REPERROR語句,報告所有複製期間出現的錯誤,回滾非正常中斷的事物和程式。

—HANDLECOLLISIONS
當災備端已經存在資料的情況下,解決複製過程中出現的衝突。如果要重新做初始化,可以刪除drop災備端資料庫後再rman恢復,這樣做的話就不需要該引數了。

ALLOWNOOPUPDATES
當生產端有某些列但是目標表卻沒有,或者複製程式中配置了COLSEXCEPT 引數 在這些情況下,當生產端對那些列進行更新,目標表將不發生任何變化

assumetargetdefs
使用ASSUMETARGETDEFS引數時,用MAP語句中指定的生產庫源表和災備端目標表具有相同的列結構。它指示的Oracle GoldenGate不在生產端查詢源表的結構定義。

DISCARDFILE ./dirrpt/repsa.dsc, APPEND, MEGABYTES 1024M
將執行失敗的記錄儲存在discard file中,該檔案位於./dirrpt/extya.dsc,大小為1024MB。 檔案中已經包含記錄的話,再後面繼續追加,不刪除之前的記錄。

DISCARDROLLOVER AT 02:00
為了防止discard file被寫滿,每天2:00做一次檔案過期設定

全文完

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30186176/viewspace-1816056/,如需轉載,請註明出處,否則將追究法律責任。

相關文章