真實環境的OracleGoldenGate配置引數詳解 -- 災備端
本文分為兩篇,第一篇介紹生產端的管理程式配置引數、抽取程式配置引數、投遞程式配置引數;
http://blog.itpub.net/29047826/viewspace-1271830/
本篇為第二篇,介紹災備端管理程式配置引數和複製程式配置引數。以下列出的所有配置檔案都屬於災備端,
啟動的程式
REPSA-R一共18個程式都是災備端複製程式。開啟多個複製程式可以緩解生產端表過多所帶來的壓力。
管理程式
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分鐘將寫入警告日誌
複製程式
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做一次檔案過期設定
全文完
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 |
管理程式
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 |
通訊埠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; |
設定字符集環境變數為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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 真實環境的OracleGoldenGate配置引數詳解 -- 生產端OracleGo
- 環境變數詳解變數
- 容器化環境中,JVM最佳引數配置實踐JVM
- DataGuard引數配置詳解
- struts配置引數詳解
- Windows下Java環境變數的配置(詳)WindowsJava變數
- 蘋果iPhone X引數詳解與真機圖賞 iPhone X引數配置怎麼樣蘋果iPhone
- Spring(環境搭建&配置詳解)Spring
- Mysql配置引數詳解(一)MySql
- Prometheus hashmod 配置引數詳解Prometheus
- oracle RMAN引數配置詳解Oracle
- .NET Core 環境變數詳解變數
- VS2010遠端除錯環境配置詳解除錯
- Windows下配置NodeJS環境詳解WindowsNodeJS
- Hyperledger Fabric 通道配置檔案和容器環境變數詳解變數
- JDK1.8 JVM生產環境引數配置JDKJVM
- Nginx 配置檔案引數詳解Nginx
- redis配置檔案引數詳解Redis
- ubuntu環境配置備忘Ubuntu
- 數棧資料安全案例:混合雲環境資料庫備份容災實現資料庫
- Flutter詳細的環境配置Flutter
- Cypress系列(14)- 環境變數詳解變數
- Golang環境變數設定詳解Golang變數
- 配置環境變數變數
- java 環境變數的配置Java變數
- jdk環境變數的配置JDK變數
- compose配置檔案引數詳解
- sap入門--sap配置引數詳解
- Redis 主從配置和引數詳解Redis
- ansible.cfg 配置引數詳解
- windows7系統JDK的path環境變數配置兩種方式詳解WindowsJDK變數
- 【環境配置】Linux環境下下載、配置java環境、安裝eclipse、建立eclipse快捷方式詳解LinuxJavaEclipse
- DKhadoop環境安裝配置步驟詳解Hadoop
- 配置JDK環境變數JDK變數
- Flume 配置環境變數變數
- Shell配置環境變數變數
- Kaldi配置環境變數變數
- MySQL 環境變數配置MySql變數