2.--Goldgate常用引數說明

萌萌二泡哥發表於2017-11-20

OGG常見引數說明

1.配置管理程式mgr:

ggsci(test01) 1> view param mgr

port 7809

dynamicportlist 7809-7900

--autostart er *

autorestart extract *,retries5,waitminutes 3

purgeoldextracts./dirdat/*,usecheckpoints, minkeepdays 3

lagreporthours 1

laginfominutes 30

lagcriticalminutes 45

 

manager程式引數配置說明:

port:指定服務監聽埠;預設埠為7809

dynamicportlist:動態埠:可以制定最大256個可用埠的動態列表,當指定的埠不可用時,管理程式將會從列表中選擇一個可用的埠,源端和目標段的collector、replicat、ggsci程式通訊也會使用這些埠;

comment:註釋行,也可以用--來代替;

autostart:指定在管理程式啟動時自動啟動哪些程式;

autorestart:自動重啟引數設定:本處設定表示每3分鐘嘗試重新啟動所有extract程式,共嘗試5次;

purgeoldextracts:定期清理trail檔案設定:本處設定表示對於超過3天的trail檔案進行刪除。

lagreport、laginfo、lagcritical:

定義資料延遲的預警機制:本處設定表示mgr程式每隔1小時檢查extract的延遲情況,如果超過了30分鐘就把延遲作為資訊記錄到錯誤日誌中,如果延遲超過了45分鐘,則把它作為警告寫到錯誤日誌中。

 

2.抽取程式和傳輸程式

 

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

 

抽取程式:

GGSCI (test01) 1> view param ETEST01

 

extract ETEST01

setenv (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)

setenv (ORACLE_HOME = /oracle/app/oracle/product/11.2.4/db_1)

setenv (ORACLE_SID = test01)

userid goldengate, password goldengate

REPORT AT 01:59

REPORTROLLOVER at 02:00

GETTRUNCATES

EXTTRAIL ./dirdat/exp

NUMFILES 2000

DYNAMICRESOLUTION

DDL INCLUDE MAPPED

DDLOPTIONS ADDTRANDATA RETRYOP RETRYDELAY 10 MAXRETRIES 10                     

DDLOPTIONS REPORT

------lizhen-----

TABLE DEMO.CALL_RULE_INFO;

 

GGSCI > ADD EXTRACT ETEST01 , TRANLOG, BEGIN NOW, threads 1  ---RAC 注意

GGSCI > ADD EXTTRAIL ./dirdat/exp, EXTRACT ETEST01 , MEGABYTES 200

 

傳輸程式

GGSCI (test01) 1> edit param PTEST01

extract PTEST01

setenv (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)

setenv (ORACLE_HOME = /oracle/app/oracle/product/11.2.4/db_1)

setenv (ORACLE_SID = testdb)

userid goldengate, password goldengate

PASSTHRU

REPORT AT 01:59

REPORTROLLOVER at 02:00

RMTHOST 10.18.4.41, MGRPORT 7809, COMPRESS 

RMTTRAIL ./dirdat/rep

DYNAMICRESOLUTION

NUMFILES 2000

gettruncates

------lizhen-------

TABLE DEMO.CALL_RULE_INFO;

 

GGSCI > ADD EXTRACT PTEST01, EXTTRAILSOURCE ./dirdat/exp

GGSCI > ADD RMTTRAIL ./dirdat/rep, EXTRACT PTEST01, MEGABYTES 200

 

 

 

extract程式引數配置說明:

extract

extract程式引數配置說明

 

setenv

配置系統環境變數

 

userid/password

指定ogg連線資料庫的使用者名稱和密碼

 

comment

註釋行,也可以用--來代替

 

table

定義需複製的表,後面需以;結尾

 

tableexclude

定義需要排除的表,如果在table引數中使用了萬用字元,可以使用該引數指定排除掉得表

 

getupdateafters|ignoreupdateafters

是否在佇列中寫入後影像,預設複製

 

getupdatebefores|ignoreupdatebefores

是否在佇列中寫入前影像,預設不復制

 

getupdates|ignoreupdates

是否複製update操作,預設複製

 

getdeletes|ignoredeletes

是否複製update操作,預設複製

 

getinserts|ignoreinserts

是否複製insert操作,預設複製

 

gettruncates|ignoretrundates

是否複製truncate操作,預設不復制

 

NUMFILES

使用NUMFILES引數控制OGG給多少張TABLE 和MAP進行初始化的記憶體分配,並且此引數必須在TABLE or MAP,SOURCEDEFS or TARGETDEFS 之前生效, Default 1000.

 

rmthost

指定目標系統及其goldengatemanager程式的埠號,還用於定義是否使用壓縮排行傳輸,本例中的compress為壓縮傳輸;

 

rmttrail

指定寫入到目標斷的哪個佇列

 

exttrail

指定寫入到本地的哪個佇列

 

sqlexec

在extract程式執行時首先執行一個sql語句

 

passthru

禁止extract程式與資料庫互動,適用於data pump傳輸程式

 

report

定義自動定時報告

 

statoptions

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

 

reportcount

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

 

tltrace

開啟對於資料庫日誌的跟蹤日誌

 

discardfile

定義discardfile檔案位置,如果處理中有記錄出錯會寫入到此檔案中

 

dboptions

指定對於某種特定資料庫所需要的特殊引數;

 

tranlogoptions

指定在解析資料庫日誌時所需要的特殊引數,例如:對於裸裝置,可能需要加入以下引數 rawdeviceoggset 0

 

warnlongtrans

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

 

 

3.複製程式

GGSCI (test01) 1> view param RTEST01

replicat RTEST01

setenv (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)

userid goldengate, password goldengate

REPORTCOUNT EVERY 30 MINUTES,RATE

REPORT AT 01:00

REPORTROLLOVER at 02:00

DISCARDFILE ./DIRRPT/RTEST01.DSC,APPEND, MEGABYTES 1000

DISCARDROLLOVER on friday

HANDLECOLLISIONS

REPERROR DEFAULT,ABEND

ASSUMETARGETDEFS

CHECKSEQUENCEVALUE

ALLOWNOOPUPDATES

DYNAMICRESOLUTION

NUMFILES 2000

DDL INCLUDE MAPPED

DDLOPTIONS REPORT

GROUPTRANSOPS 500

MAXTRANSOPS 500

------lizhen--------

MAP DEMO.CALL_RULE_INFO,TARGET TEST.CALL_RULE_INFO;

 

ggsci >add replicat RTEST01 ,exttrail ./dirdat/rep

 

 

setenv (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)

setenv (ORACLE_HOME = /oracle/app/oracle/product/11.2.4/db_1)

setenv (ORACLE_SID = testdb)

設定環境變數

 

DBOPTIONS DEFERREFCONST

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

 

GETTRUNCATES

捕獲生產端truncate table的操作。

 

REPORT AT 01:00

每天早上1點報告

 

REPORTCOUNT EVERY 30 MINUTES, RATE

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

 

REPORTROLLOVER AT 02:00

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

 

REPERROR DEFAULT, ABEND

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

定義出錯以後程式的響應,一般可以定義為兩種:abend,即一旦出現錯誤即停止複製,此為預設配置;discard,出現錯誤後繼續複製,只是把錯誤的資料放到discard檔案中。

 

—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做一次檔案過期設定

 

MAP

用於指定源端與目標端表的對映關係;

 

MAPEXCLUDE

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

 

MAXTRANSOPS

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

 

GROUPTRANSOPS

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

 

SOURCEDEFS

假定兩端資料結構不一致,使用此引數指定源端的資料結構定義檔案,該檔案需要由glodengate工具產生。

 

SQLEXEC

在程式執行時首先執行一個sql語句

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

相關文章