oracle ogg 配置參數釋義
1、管理程序 mgr 參數
* 源端參數
port 7839
-- 通信端口7839,源端和目标端需要保持一緻。
dynamicportlist 7840-7939
-- 動态端口清單的範圍從7840到7939。當制定端口被占用或者出現通信故障,管理程序将會從清單中選擇下一個端口嘗試連接配接,避免通信端口的單點故障。
autostart extract *
-- 當mgr程序啟動後啟動extract程序
autorestart extract *, retries 5, waitminutes 2
-- 當extract程序中斷後嘗試自動重新開機,每隔2分鐘嘗試啟動一次,嘗試5次。
purgeoldextracts /u01/app/oracle/ogg_home/dirdat/ *, usecheckpoints, minkeepdays 5
purgeoldextracts ./dirdat/ *, usecheckpoints, minkeephours 1
purgeoldextracts ./dirdat/ *, usecheckpoints, minkeepdays 10
-- 此行是新添加的内容,表示超過一小時且超過讀檢查點的資料自動删除(相對路徑寫法)
-- 定期清理dirdat路徑下的本地隊列(local trail)。保留期限10天,過期後自動删除。進而控制隊列檔案的目錄不會增長過大。
lagreporthours 1
-- 每隔一小時檢查各程序延時情況,并記錄到 goldengate report 檔案。
laginfominutes 30
-- 程序複制延時超過30分鐘,向日志檔案記錄一條錯誤日志
lagcriticalminutes 45
-- 傳輸延時超過45分鐘将寫入警告日志
* 目标端參數
autostart replicat *
-- 當mgr程序啟動後啟動replicat程序
autorestart replicat *, retries 5, waitminutes 2
-- 當replicat程序中斷後嘗試自動重新開機,每隔2分鐘嘗試啟動一次,嘗試5次。
purgeddlhistory minkeepdays 7, maxkeepdays 10
-- 删除ddl曆史表,最小儲存7天,最大儲存10天。
purgemarkerhistory minkeepdays 7, maxkeepdays 10
-- 删除marker曆史表,最小儲存7天,最大儲存10天。
2、抽取程序參數
setenv(oracle_sid="orcl")
-- 設定oracle資料庫執行個體sid
setenv(nls_lang=american_america.al32utf8)
-- 設定goldengate的字元集變量資訊,此處值會覆寫作業系統級别的變量。該值需要和資料庫字元集比對一緻。
reportcount every 30 minutes, rate
-- 每隔30分鐘報告一次從程式開始到現在的抽取程序或者複制程序的事物記錄數,并彙報程序的統計資訊
discardfile /u01/app/oracle/ogg_home/dirrpt/extsr.dsc, append, megabytes 1024
-- 将執行失敗的記錄儲存在discard file中,discard file檔案記錄了goldengate程序錯誤、資料庫錯誤、goldengate操作等資訊。
-- 該檔案位于/u01/app/oracle/ogg_home/dirrpt/extsr.dsc,大小為1024mb。檔案中已經包含記錄的話,再後面繼續追加,不删除之前的記錄。
discardrollover at 3:00
-- 為了防止discard file被寫滿,每天3:00做一次檔案過期設定
exttrail /u01/app/oracle/ogg_home/dirdat/sr
-- 隊列檔案路徑, trail檔案存放路徑。
-- 有時候開啟ogg程序的時候較慢,可能是因為需要同步的表太多,ogg在開啟程序之前會将需要同步的表建立一個記錄并且存入到磁盤中,
-- 這樣就需要耗費大量的時間。使用該參數來解決此問題。
dboptions allowunusedcolumn
-- 用于阻止抽取程序抽取資料時由于表含有unused列而導緻程序異常終止(abend)。使用該參數,抽取程序抽取到unused列時也會向日志檔案記錄一條警告資訊。
fetchoptions nousesnapshot
-- 預設值為 usesnapshot,表示利用資料庫閃回讀取資料。nousesnapshot 表示直接從原表讀取相關資料。
fetchoptions fetchpkupdatecols
-- 當使用了 handlecollisions 時,請使用該參數。
-- 複制程序出現丢失update記錄(missing update)并且更新的是主鍵,update将轉換成insert。由于插入的記錄可能不是完整的行,若要保證完整需要加入此參數
table ogg.*;
-- 需要複制的對象清單
3、投遞程序參數
rmthost 10.0.0.64, mgrport 7839, compress
-- 目标端主機ip,管理程序端口号,投遞前壓縮隊列檔案
passthru
-- 表示傳輸程序直接跟抽取程序互動,而不再和資料庫進行互動,減少資料庫資源的利用。
rmttrail /u01/app/oracle/ogg_home/dirdat/tr
-- 目标端儲存隊列檔案的目錄
dynamicresolution
-- 動态解析表名(新版本已經棄用)
-- 複制範圍和抽取程序對應即可
4、複制程序參數
report at 06:00
-- 每天06:00定期生成一個report檔案
reportrollover at 02:00
-- 為了防止report file被寫滿,每天2:00做一次檔案過期設定
reperror default, abend
-- 除了特殊指定的reperror語句,報告所有複制期間出現的錯誤,復原非正常中斷的事物和程序。遇到不能處理的錯誤就自動abend,啟動需要人工幹預處理
allownoopupdates
-- 當源表有排除列情況或者有目标表不存在的列時,當更新這列goldengate預設報錯。應用該參數後,即可讓goldengate生成一條警告資訊而不是報錯。
assumetargetdefs
-- 使用assumetargetdefs參數時,用map語句中指定的生産庫源表和災備端目标表具有相同的列結構。它訓示的oracle goldengate不在生産端查找源表的結構定義。
handlecollisions
-- 用于goldengate自動過濾不能出來的沖突記錄,為了嚴格保證資料一緻性
discardfile /u01/app/oracle/ogg_home/dirrpt/repsa.dsc, append, megabytes 1024
-- 該檔案位于./dirrpt/repsa.dsc,大小為1024mb。 檔案中已經包含記錄的話,再後面繼續追加,不删除之前的記錄。
discardrollover at 02:00
-- 為了防止discard file被寫滿,每天2:00做一次檔案過期設定
map ogg.*, target ogg.*;
-- 對應需要複制的對象