OGG目錄和常用參數說明,告警日志


查看Ogg的警告日志。

 

 

GoldenGate會在根目錄下的ggserr.log里面加入一條告警信息。可以通過察看ggserr.log或者在ggsci中執行view ggsevt命令查看這些告警信息

 

 

dirprm

用於存放 GG 的參數文件,這些參數文件可以通過系統文本編輯器直接編輯,也

可以通過在 ggsci 命令行下 edit params 來編輯,達到的效果是一樣的。

dirrpt

用於存放各個進程的報告文件,內容為 extractreplicat manager 進程運行相

關的統計報告信息。

dirpcs

用於存放各個進程的狀態信息,當相關進程運行的時候,這些進程的相關信息,

比如程序名稱,進程名稱,進程監聽端口,進程 ID 等等都將被寫入各自狀態信

息文件。

dirdef

用於存放由 DEFGEN 組件創建的定義文件,包含在異構環境同步中的源或者目標

端的數據定義。

dirdat

用於存放 GG 跟蹤文件和由 extract 進程創建的抽取文件

dirchk

用於存放由 extract 抽取進程和 replicat 復制進程創建的 checkpoint 文件

dirtmp

臨時文件目錄,不要編輯里面的任何文件和內容

 

GG延遲lag較大的說明
1)        問題描述
對於有lag的進程,顯示為running,屬於正常狀態。但是如果lag時間過長,是否還正常,多長時間的范圍屬於正常。這個需要oracle工程師做出解釋。
2)        問題說明
OGG的lag指的是數據復制的延遲,對於不同的進程lag較長時分析如下:
        主Extract的lag較大
主Extract負責對於數據庫的日志做解析獲取數據變化,只要正常運行時其延遲一般都在秒一級左右。如果出現了較大的延遲,首先排查是否存在大交易,可能進程正在處理中;如果沒有大交易,但是延遲卻非常大,請聯系技術支持予以調查。
        Data Pump的lag較大
Data Pump負責數據的傳輸,如果出現較大延遲可能是因為網絡出現問題,首先可以觀察網絡帶寬是否被占滿,也有可能短時間內產生了較多的數據變化。
        Replicat的lag較大
Replicat負責數據的入庫,一般速度相對於主extract和data pump較慢,容易產生較大延遲。當replicat出現延遲后,需要對進程進行調優或者拆分,具體步驟參照本文檔上一節。
一般調優完成后,在日常業務狀態下應當不存在較大延遲(一般幾秒到一分鍾以內);當出現批處理時,可以允許一定的延遲,一般以不影響第二天的正常業務為准 – 例如,如果批處理每天早上4點前結束,可以控制延遲在2小時以內。
因此,首先需要確定OGG復制所允許的最大延遲在日常業務和批處理時的目標是什么,然后一旦達不到此目標就要依據上一節的方法進行性能的調優。

 

 

 

 

配置管理進程mgr

GGSCI(NDSCDB1) 1> edit param mgr

(粘貼下面這段配置)

PORT 7839

DYNAMICPORTLIST 7840-7939

--AUTOSTART ER *

AUTORESTART EXTRACT *,RETRIES5,WAITMINUTES 3

PURGEOLDEXTRACTS./dirdat/*,usecheckpoints, minkeepdays 3

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

MANAGER進程參數配置說明:

PORT指定服務監聽端口;這里以7839為例,默認端口為7809

DYNAMICPORTLIST動態端口:可以制定最大256個可用端口的動態列表,當指定的端口不可用時,管理進程將會從列表中選擇一個可用的端口,源端和目標段的CollectorReplicatGGSCI進程通信也會使用這些端口;

COMMENT注釋行,也可以用--來代替;

AUTOSTART指定在管理進程啟動時自動啟動哪些進程;

AUTORESTART自動重啟參數設置:本處設置表示每3分鍾嘗試重新啟動所有EXTRACT進程,共嘗試5次;

PURGEOLDEXTRACTS定期清理trail文件設置:本處設置表示對於超過3天的trail文件進行刪除。

LAGREPORTLAGINFOLAGCRITICAL

定義數據延遲的預警機制:本處設置表示MGR進程每隔1小時檢查EXTRACT的延遲情況,如果超過了30分鍾就把延遲作為信息記錄到錯誤日志中,如果延遲超過了45分鍾,則把它作為警告寫到錯誤日志中。

 

 

 

 

 

 

抽取進程和傳輸進程其實都是EXTRACT進程,也可以配置在一個進程完成這兩個功能,但是當網絡傳輸有問題時,這樣抽取也就不能繼續運行了,所以推薦分開配置為兩個進程;

EXTRACT進程參數配置說明:

SETENV配置系統環境變量

USERID/ PASSWORD指定OGG連接數據庫的用戶名和密碼,這里使用3.4部分中創建的數據庫用戶OGG;

COMMENT注釋行,也可以用--來代替;

TABLE定義需復制的表,后面需以;結尾

TABLEEXCLUDE定義需要排除的表,如果在TABLE參數中使用了通配符,可以使用該參數指定排除掉得表。

GETUPDATEAFTERS|IGNOREUPDATEAFTERS

是否在隊列中寫入后影像,缺省復制

GETUPDATEBEFORES| IGNOREUPDATEBEFORES

是否在隊列中寫入前影像,缺省不復制

GETUPDATES|IGNOREUPDATES

是否復制UPDATE操作,缺省復制

GETDELETES|IGNOREDELETES

是否復制DELETE操作,缺省復制

GETINSERTS|IGNOREINSERTS

是否復制INSERT操作,缺省復制

GETTRUNCATES|IGNORETRUNDATES

是否復制TRUNCATE操作,缺省不復制;

RMTHOST指定目標系統及其GoldengateManager進程的端口號,還用於定義是否使用壓縮進行傳輸,本例中的compress為壓縮傳輸;

RMTTRAIL指定寫入到目標斷的哪個隊列;

EXTTRAIL指定寫入到本地的哪個隊列;

SQLEXECextract進程運行時首先運行一個SQL語句;

PASSTHRU禁止extract進程與數據庫交互,適用於Data Pump傳輸進程;

REPORT定義自動定時報告;

STATOPTIONS定義每次使用stat時統計數字是否需要重置;

REPORTCOUNT報告已經處理的記錄條數統計數字;

TLTRACE打開對於數據庫日志的跟蹤日志;

DISCARDFILE定義discardfile文件位置,如果處理中油記錄出錯會寫入到此文件中;

DBOPTIONS指定對於某種特定數據庫所需要的特殊參數;

TRANLOGOPTIONS指定在解析數據庫日志時所需要的特殊參數,例如:對於裸設備,可能需要加入以下參數 rawdeviceoggset 0

WARNLONGTRANS指定對於超過一定時間的長交易可以在gsserr.log里面寫入警告信息,本處配置為每隔3分鍾檢查一次場交易,對於超過2小時的進行警告;

 

 

 

 

 

 

 

 

配置復制進程

REPLICAT進程參數配置說明:

ASSUMETARGETDEFS假定兩端數據結構一致使用此參數;

SOURCEDEFS假定兩端數據結構不一致,使用此參數指定源端的數據結構定義文件,該文件需要由GlodenGate工具產生。

MAP:用於指定源端與目標端表的映射關系;

MAPEXCLUDE用於使用在MAP中使用*匹配時排除掉指定的表;

REPERROR定義出錯以后進程的響應,一般可以定義為兩種:

ABEND,即一旦出現錯誤即停止復制,此為缺省配置;

DISCARD,出現錯誤后繼續復制,只是把錯誤的數據放到discard文件中。

DISCARDFILE定義discardfile文件位置,如果處理中油記錄出錯會寫入到此文件中;

SQLEXEC在進程運行時首先運行一個SQL語句;

GROUPTRANSOPS將小交易合並成一個大的交易進行提交,減少提交次數,降低系統IO消耗。

MAXTRANSOPS將大交易拆分,每XX條記錄提交一次。

HANDLECOLLISIONS是我們使用goldengate過程中常有的一個REPLICAT參數,該參數依賴於主鍵或唯一索引處理沖突數據,常用於初始化階段。對於無主鍵或唯一索引的表無法處理沖突,且可能導致重復記錄。注意打開此參數則所有數據錯誤不管reperror如何配置均不再寫discard文件,即所有數據沖突信息被默認規則處理,沒有任何日志(則會忽略error mapping數據錯誤,而且不會報告到discard文件),因此日常復制不建議使用該參數;可予以考慮的特殊場景為只需新增數據,無需復制歷史數據
 
CHECKMINUTES  ---檢查周期,默認10分鍾
mgr(管理進程) 參數簡介
DYNAMICPORTLIST 7840-7914 動態端口列表的范圍從7840到7914。當制定端口被占用或者出現通信故障,管理進程將會從列表中選擇下一個端口嘗試連接,避免通信端口的單點故障。
AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 7 當提取進程中斷后嘗試自動重啟,每隔7分鍾嘗試啟動一次,嘗試5次。OGG運維人員通常會注釋掉這條配置,更喜歡用手工重啟的方式來控制。
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 10 定期清理dirdat路徑下的本地隊列(local trail)。保留期限10天,過期后自動刪除。從而控制隊列文件的目錄不會增長過大。
LAGREPORTHOURS 1 每隔一小時檢查一次傳輸延遲情況
LAGINFOMINUTES 30 傳輸延時超過30分鍾將寫入錯誤日志
LAGCRITICALMINUTES 45 傳輸延時超過45分鍾將寫入警告日志
   
extract(抽取進程)  
SETENV (NLS_LANG=”AMERICAN_AMERICA.UTF8”) 設置字符集環境變量為UTF8
REPORTCOUNT EVERY 30 MINUTES, RATE 每隔30分鍾報告一次從程序開始到現在的抽取進程或者復制進程的事物記錄數,並匯報進程的統計信息
DISCARDFILE ./dirrpt/extya.dsc, APPEND, MEGA<wiz_tmp_highlight_tag class="cm-searching">BYTES 1024 將執行失敗的記錄保存在discard file中,該文件位於./dirrpt/extya.dsc,大小為1024M<wiz_tmp_highlight_tag class="cm-searching">B。 文件中已經包含記錄的話,再后面繼續追加,不刪除之前的記錄。
WARNLONGTRANS 2h, CHECKINTERVAL 3m 每隔3分鍾檢查一下大事務,超過2小時還沒結束的進行報告
EXTTRAIL ./dirdat/ya 隊列文件路徑
DYNAMICRESOLUTION 有時候開啟OGG進程的時候較慢,可能是因為需要同步的表太多,OGG在開啟進程之前會將需要同步的表建立一個記錄並且存入到磁盤中,這樣就需要耗費大量的時間。使用該參數來解決此問題。
D<wiz_tmp_highlight_tag class="cm-searching">BOPTIONS ALLOWUNUSEDCOLUMN 當抽取進程遇到一個沒有使用的字段時只生成一個警告,進程會繼續執行而不會被異常終止(a<wiz_tmp_highlight_tag class="cm-searching">bend)
FETCHOPTIONS NOUSESNAPSHOT 不會從閃回日志中獲取數據
FETCHOPTIONS FETCHPKUPDATECOLS 當使用了HANDLECOLLISIONS時,請使用該參數。復制進程出現丟失update記錄(missing update)並且更新的是主鍵,update將轉換成insert。由於插入的記錄可能不是完整的行,若要保證完整需要加入此參數
CACHEMGR CACHESIZE 8000M<wiz_tmp_highlight_tag class="cm-searching">B, CACHEDIRECTORY /goldengate/temp, CACHEDIRECTORY /goldengate/temp2 在/goldengate/temp,/goldengate/temp2 目錄設置虛擬內存
TRANLOGOPTIONS LOGRETENTION DISA<wiz_tmp_highlight_tag class="cm-searching">BLED LOGRETENTION主要功能是防止rman刪除ogg恢復所需要用到的歸檔日志,可以通過禁用這個特性來解決上面的這個問題
tranlogoptions rawdeviceoffset 0 裸設備的偏移量各操作系統默認為0,但AIX默認為4096。當創建裸設備時使用了-TO選項時,Oracle不會跳過4096字節而是直接從0開始讀寫。 因此在AIX下使用裸設備時,出現此錯誤需要指定OGG從偏移量0開始讀取。
TranlogOptions D<wiz_tmp_highlight_tag class="cm-searching">BLOGREADER 減少了配置登陸ASM需要的TNS配置內容,並且也不在需要指定歸檔路徑,其自動會找到歸檔日志的位置。
<wiz_tmp_highlight_tag class="cm-searching">BR <wiz_tmp_highlight_tag class="cm-searching">BRINTERVAL 30M <wiz_tmp_highlight_tag class="cm-searching">BR(<wiz_tmp_highlight_tag class="cm-searching">Bounded Recovery )默認的設置是4小時,即每4小時OGG抽取進程會做一個檢查點,在每個檢查點的時間點上,OGG會檢查長事務,並將超過30分鍾的長事務的狀態寫入到磁盤
FETCHOPTIONS FETCHPKUPDATECOLS 如果想要獲取到主鍵更新的redo全鏡像,則必須要在源端抽取進程中添加FETCHPKUPDATECOLS參數,否則目標端更新數據則會丟失非主鍵列的鏡像。
   
dpe(投遞進程)  
RMTHOST 10.10.10.1, MGRPORT 7839, COMPRESS 災備端主機IP,管理進程端口號,投遞前壓縮隊列文件
NUMFILES 5000 最多處理5000張表
RMTTRAIL ./dirdat/y<wiz_tmp_highlight_tag class="cm-searching">b 災備端保存隊列文件的目錄
PASSTHRU 采用pass-through模式處理表,避免與源庫交互
DYNAMICRESOLUTION 動態解析表名
   
replicat(復制進程)  
D<wiz_tmp_highlight_tag class="cm-searching">BOPTIONS DEFERREFCONST 約束延遲設置。在復制進程的事物被提交之前,延遲級聯刪除、級聯更新時的校驗和實施。
GETTRUNCATES 不捕獲生產端truncate ta<wiz_tmp_highlight_tag class="cm-searching">ble的操作。
REPORTCOUNT EVERY 30 MINUTES, RATE 每隔30分鍾報告一次從程序開始到現在的抽取進程或者復制進程的事物記錄數,並匯報進程的統計信息
REPERROR DEFAULT, A<wiz_tmp_highlight_tag class="cm-searching">BEND 除了特殊指定的REPERROR語句,報告所有復制期間出現的錯誤,回滾非正常中斷的事物和進程。
HANDLECOLLISIONS 當災備端已經存在數據的情況下,解決復制過程中出現的沖突。如果要重新做初始化,可以刪除drop災備端數據庫后再rman恢復,這樣做的話就不需要該參數了。
ALLOWNOOPUPDATES 當生產端有某些列但是目標表卻沒有,或者復制進程中配置了COLSEXCEPT 參數 在這些情況下,當生產端對那些列進行更新,目標表將不發生任何變化
assumetargetdefs 使用ASSUMETARGETDEFS參數時,用MAP語句中指定的生產庫源表和災備端目標表具有相同的列結構。它指示的Oracle GoldenGate不在生產端查找源表的結構定義。
DISCARDFILE ./dirrpt/repsa.dsc, APPEND, MEGA<wiz_tmp_highlight_tag class="cm-searching">BYTES 1024M 將執行失敗的記錄保存在discard file中,該文件位於./dirrpt/extya.dsc,大小為1024M<wiz_tmp_highlight_tag class="cm-searching">B。 文件中已經包含記錄的話,再后面繼續追加,不刪除之前的記錄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM