1. 程式人生 > >Goldengate參數規範

Goldengate參數規範

session left 生產 perror 連接 統一 all gin lease

1. 文檔綜述

1.1. 文檔說明

本文檔規定了在實施Goldengate時,各個進程需要配置的參數.

該參數模板適合於Goldengate11.2.1.0版本;

**註:本文檔為Goldengate實施規範系列文檔內容之一。在Goldengate的實施過程中,需要嚴格遵循系列實施規範。

**註:無主鍵,大事務,這些都是OGG支持有問題的,需要進行應用調整,否則即使按照規範執行,某些情況下也會出現問題。

**註:本文檔不涉及任何調優參數,如需使用性能調優參數需咨詢oracle後謹慎使用。

**註:前提復制範圍已確定,DML復制的對象都需要在DDL復制範圍內。

1.2. 讀者範圍

本文檔主要供容災相關人員、納入數據級容災範圍的應用系統相關人員使用,在Goldengate實施、運維的整個生命周期中,必須嚴格遵循本系列文檔。

1.3. 術語說明

序號

完整說法

縮略說法

1

GoldenGate

GG或OGG

1.4. 輸入輸出

1.4.1. 輸入條件

N/A

1.4.2. 文檔產出

N/A

2. Goldengate進程參數模板

參數文件中的參數分為三類:

  • 必選參數:進程必須配置的參數;
  • 可選參數:可以根據應用的實際情況選擇使用的參數,例如性能調優參數;
  • 特定參數:特定環境或者特定平臺使用的參數;
  • 非選參數:該類參數不能進行配置
  • DDL配置參數(在實施DDL復制時需要配置的參數,在參數模板文件中一律標紅
    顯示)

Global參數源端默認為 schema goldengate

目標端默認為 CHECKPOINTTABLE goldengate.ggschkpt 即可

註:請遵照本參數模板的參數順序來進行配置;

2.1. 管理進程MGR參數配置

範例:

--配置普通基本參數區域

PORT 7809

DYNAMICPORTLIST7840-7914

AUTOSTART ER *

STARTUPVALIDATIONDELAY 5

AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 7

PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 3

--配置DDL參數區域

PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10,FREQUENCYMINUTES 30

PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10

配置一般日誌信息區域

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

PORT 7839

--必選參數

DYNAMICPORTLIST 7840-7914

--必選參數

--配置建議:一個傳輸進程(datapump)一般需要預留5個端口,其他監控端口另行考慮;

這些端口用於與goldengate的復制進程,collector進程,ggsci命令進行通信。

AUTOSTART ER *

--非選參數

--此參數用於啟動mgr進程時,自動啟動下邊的其它資源組。

AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3

--此參數表示extract進程由於網絡中斷或者其它原因停止時,goldengate會自動嘗試啟動5次,直到成功,每次自動啟動間隔為3分鐘。

STARTUPVALIDATIONDELAY 5

–-配合autostart ER *使用,表示啟動每組資源是延時5S,建議穩定時候開啟

--可選參數

--配置建議:在系統運行穩定時,打開該參數;

PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3

--必選參數

--配置建議:根據隊列空間大小適當進行調整,建議>=3天;

--purgeoldextracts參數用於定期刪除維護不用的trail文件。此次含義為用checkpoints,刪除超過3天且已經應用--完的trail文件。

PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10,FREQUENCYMINUTES 30

--DDL 配置時需要的參數,此參數用於維護GGS_DDL_HIST表,默認清除1小時沒有變更過的記錄。此處為GGS_DDL_HIST表記錄保存7-10天內沒有變更過的記錄。

PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10

--DDL配置時需要的參數,用於維護GGS_MARKER的記錄數。默認為超過1小時的記錄沒有變更即刪除。此處的參數含義為7-10天內的記錄沒有變更,就刪除該記錄,每30分鐘檢查並執行一次。

LAGREPORTHOURS 1

--必選參數

--配置建議:統一設定為1個小時;

--表示mgr進程每隔一小時檢查各進程延時情況,並記錄到goldengate report文件。

LAGINFOMINUTES 30

--必選參數

--配置建議:統一設定為30分鐘;

--表示進程復制延時超過30分鐘,goldengate即向日誌文件記錄一條info級別的延時信息。

.

LAGCRITICALMINUTES 45

--必選參數

--配置建議:統一設定為45分鐘;

表示進程復制延時超過45分鐘,goldengate即向日誌文件記錄一條critical級別的延時信息。

2.2. 抽取進程EXTRACT參數配置

範例:

--基礎參數區域

EXTRACT extya

SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")

USERID goldengate, PASSWORD AACAAAAAAAAAAGAIF, ENCRYPTKEY default

REPORTCOUNT EVERY 30 MINUTES, RATE

DISCARDFILE ./dirrpt/exta.dsc, APPEND, MEGABYTES 256

DISCARDROLLOVER AT 3:00

WARNLONGTRANS 2h, CHECKINTERVAL 3m

EXTTRAIL ./dirdata/ya, MEGABYTES 256

DYNAMICRESOLUTION

DBOPTIONSALLOWUNUSEDCOLUMN

FETCHOPTIONS NOUSESNAPSHOT

TRANLOGOPTIONSCONVERTUCS2CLOBS

tranlogoptions asmuser [email protected], asmpassword AACAAAAAAAAAAGAIF, ENCRYPTKEY default

TRANLOGOPTIONS altarchivelogdest primary instance rac1 /arch1 altarchivelogdest instancerac2 /arch2

THREADOPTIONSMAXCOMMITPROPAGATIONDELAY 60000

THREADOPTIONSIOLATENCY 1000

--DDL參數區域,所有復制對象,屏蔽對象在源端體現。

DDL &

INCLUDE MAPPED OBJTYPE ‘TABLE‘ &

INCLUDE MAPPED OBJTYPE ‘INDEX‘ &

INCLUDE MAPPED OBJTYPE ‘SEQUENCE‘ &

INCLUDE MAPPED OBJTYPE ‘VIEW‘ &

INCLUDE MAPPED OBJTYPE ‘PROCEDURE‘ &

INCLUDE MAPPED OBJTYPE ‘FUNCTION‘ &

INCLUDE MAPPED OBJTYPE ‘PACKAGE‘ &

EXCLUDE OPTYPE COMMENT

DDLOPTIONS addtrandata REPORT

--對象範圍區域,總的原則為盡量將處在同一事物與業務,即相關聯的對象放到同一進程,具體依據前期收集到的信息進--行歸類。

TABLE SCHEMA.*;

Sequence schema.*;

--------------------------------------------

EXTRACT extxx

--必選參數

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

--必選參數

--配置建議:需要根據數據庫的字符集進行設置;

--用於設置goldengate的字符集變量信息,此處值會覆蓋操作系統級別的變量。該值需要和數據庫字符集匹配一致。

USERID ggs, PASSWORD AACAAAAAAAAAAGAIF, ENCRYPTKEY default

--必選參數

--配置建議:要求使用密文參數,添加需要的配置參數;

--加密步驟:參考附錄3.1;

tranlogoptions asmuser [email protected], asmpassword AACAAAAAAAAAAGAIF, ENCRYPTKEY default

--TRANLOGOPTIONS DBLOGREADER

--特定參數

--配置建議:在ASM情況下使用,要求使用密文參數,添加需要的配置參數;

--加密步驟:參考附錄3.1;

--其他說明:需要註意配置ASM監聽,關註listener.ora和tnsnames.ora配置文件。

--對於數據庫版本等於或高於10.2.0.5,建議使用TRANLOGOPTIONS DBLOGREADER替代tnsnames連接方式

GETTRUNCATES

--可選參數(復制truncate操作)

--配置建議:在僅進行DML復制時,該參數需要打開;如果DDL和DML的復制同時打開,該參數必須關閉;

--默認不復制truncate操作。

DDL &

INCLUDE MAPPED OBJTYPE ‘TABLE‘ &

INCLUDE MAPPED OBJTYPE ‘INDEX‘ &

INCLUDE MAPPED OBJTYPE ‘SEQUENCE‘ &

INCLUDE MAPPED OBJTYPE ‘VIEW‘ &

INCLUDE MAPPED OBJTYPE ‘PROCEDURE‘ &

INCLUDE MAPPED OBJTYPE ‘FUNCTION‘ &

INCLUDE MAPPED OBJTYPE ‘PACKAGE‘ &

EXCLUDE OPTYPE COMMENT

DDLOPTIONS addtrandata REPORT

--匹配table/index/sequence/view/procedure/function/package對象進行DDL復制

此處參數為按對象類型進行匹配復制,還可以配合schema,操作類型進行匹配。需要oracle與應用確認範圍後敲定。

REPORTCOUNT EVERY 25 MINUTES, RATE

--可選參數

--配置建議:如果需要優化,可以適當進行調整;

--此參數每隔25分鐘,goldengate向日誌文件生成一條記錄(抽取進程自從啟動後處理的記錄數與計算處理速率的信息)。

DISCARDFILE ./dirrpt/extxx.dsc,APPEND,MEGABYTES 1024

--必選參數

--配置建議:該參數的路徑必須為相對路徑,該參數的值設置為1024M

--discard文件用於記錄goldengate不能處理的記錄信息。該文件可以采用purge(刪除覆蓋)與append(追加)方式。

--此處參數設置了discard文件的路徑與文件名./dirrpt/extxx,采用追加方式保存,文件大小最大為1024M。當文件大小超過1024M時,抽取進程就會abend,一般配合DISCARDROLLOVER使用,這樣保證不會由於超過文件大小導致進程abend。

THREADOPTIONSMAXCOMMITPROPAGATIONDELAY 60000 IOLATENS 60000

--特定參數,在rac環境下需要配置,非Rac的生產環境不需要配置;

--配置建議:設置為60000,最大可以設置為90000;

--主要用於解決RAC兩個節點時間有偏差造成transaction不準確。

AIXTHREAD_SCOPE=S

export AIXTHREAD_SCOPE

--對於aix系統建議在環境變量引入該變量,可以使goldengate使用多cpu,提高性能。

DBOPTIONS ALLOWUNUSEDCOLUMN

--必選參數;

--配置建議:在生產端庫表中存在unused列時,需要配置該參數;

--用於阻止抽取進程抽取數據時由於表含有unused列而導致進程abend。即使使用該參數,抽取進程抽取到unused列時也會向日誌文件記錄一條警告信息。

WARNLONGTRANS 2h,CHECKINTERVAL 3m

--必選參數

--配置建議:要求設置為2h,3m,如有特殊需要,可以調整;表示向日誌記錄超過2小時的長事務信息,每隔3分鐘檢查一次。

EXTTRAIL ./dirdat/xx

--必選參數

--配置建議:要求使用相對路徑,遵循命名規範;

--用於指定trail文件存放路徑。

TRANLOGOPTIONS EXCLUDEUSER USERNAME

--可選參數

--配置建議:可以使用來排除大事務用戶

--排除不需要的用戶的數據復制。主要用於雙活拓撲結構的系統時,用來排除goldengate用戶的數據。避免形成環路。

FETCHOPTIONS NOUSESNAPSHOT

--必選參數

--配置建議:要求必須設置該參數

--默認值為 usesnapshot,表示利用數據庫閃回讀取數據。Nousesnapshot表示直接從原表讀取相關數據。

所有需要添加的fetchoption參數需要oracle確認

TRANLOGOPTIONS CONVERTUCS2CLOBS

--必選參數

--對CLOB字段進行處理

--此參數官方文檔沒有,需要oracle確認。

TRANLOGOPTIONS altarchivelogdest primary instance rac1 /arch1 altarchivelogdest instancerac2 /arch2

--特定參數

--配置建議:rac使用,解決歸檔路徑不一致的問題;可以在一個實例上面配置多個歸檔路徑;

--需要保證goldengate能同時讀到各節點的歸檔,一般采用NFS掛載rac另外節點的歸檔。

TRANLOGOPTIONSRAWDEVICEOFFSET 0

--特定參數

--配置建議:僅限於AIX平臺下使用裸設備時使用,其它平臺或非裸設備均不需要

--需要在Aix操作系統中去查有沒有偏移量,如果有偏移量的話,該參數不需要進行設置,goldengate的默認就可以了;

--如果沒有偏移量,則需要設置為0;

--該參數官方文檔不存在,需要oracle確認

TABLE SCHEMA.*;

--需要復制的對象列表,拆分需遵循拆分規範

2.3. 傳輸進程DATAPUMP參數配置

範例:

--基礎參數區域

EXTRACT dpeya

RMTHOST hostname, MGRPORT 7809, COMPRESS

PASSTHRU

NUMFILES 5000

RMTTRAIL ./dirdata/ya

DYNAMICRESOLUTION

--對象區域,盡量保證與抽取進程一致。

TABLE schema.*;

EXTRACT dpxx

--必選參數

--表示進程名,需遵循設計規範。

PASSTHRU

--必選參數

--表示傳輸進程直接跟抽取進程交互,而不再和數據庫進行交互,減少數據庫資源的利用。

RMTHOST *.*.*.*, MGRPORT 7839, compress, PARAMS –W 30

--必選參數

--配置建議:*.*.*.* 目標端的ip地址,7839為目標端的管理端口,要求配置compress壓縮參數,節省網絡帶寬,但會增加CPU開銷;

此參數用在HP NONSTOP系統上,建議刪除,需討論-- PARAMS –W 30 可以確保datadump進程宕掉以後,容災端的server在30秒後自動停掉;

RMTTRAIL ./dirdat/xx

--必選參數

--配置建議:要求使用相對路徑,遵循命名規範;

TABLE SCHEMA.*;

復制範圍和抽取進程對應即可,對於拆分情況參照拆分設計文檔

2.4. 復制進程REPLICAT參數配置

範例:

REPLICAT repya

USERID ggs, PASSWORD AACAAAAAAAAAAGAIFAAAUDVHCFUGFIYF, ENCRYPTKEY default

SETENV (NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK")

REPORT AT 01:59

REPORTCOUNT EVERY 25 MINUTES, RATE

REPORTROLLOVER AT 02:00

REPERROR DEFAULT, ABEND

ALLOWNOOPUPDATES

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/ya.dsc, APPEND, MEGABYTES 256M

DISCARDROLLOVER AT 02:00

ALLOWNOOPUPDATES

--DDL參數區域 需要屏蔽的操作類型在此區域屏蔽

DDL include mapped

ddloptions report

--DDL 錯誤過濾

DDLERROR <error1> IGNORE

--復制對象區域,盡量與dpe進程保持一致。

MAP schema.*, TARGETschema.*;

REPLICAT repxx

--必選參數

--設置復制進程名字,需遵循命名規範

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

--必選參數

--配置建議:需要根據數據庫源端的字符集進行設置;

SQLEXEC "ALTER SESSION SET CONSTRAINTS=DEFERRED"

--必選配置

--註:打開數據庫中的延遲約束的特性,避免復制進程因拆分造成插入相關的約束錯誤。

USERID ggs, PASSWORD AACAAAAAAAAAAGAIFAAAUDVHCFUGFIYF, ENCRYPTKEY default

--必選參數

--配置建議:要求使用密文參數,添加需要的配置參數;

--加密步驟:參考附錄3.1;

DDL include mapped

ddloptions report

--以上標紅為開啟DDL復制時需要配置的參數;

--復制所有匹配的DDL。

REPORT AT 01:59

--可選參數,定期生產進程相關的report文件。

--配置建議:該時間也根據需要進行修改

--每天01:59定期生成一個report文件

REPORTCOUNT EVERY 30 MINUTES, RATE

--可選參數

--配置建議:可以根據需要進行調整;

--此參數每隔30分鐘,goldengate向日誌文件生成一條記錄(抽取進程自從啟動後處理的記錄數與計算處理速率的信息)。

REPERROR DEFAULT, ABEND

--必選參數

--配置建議:使用abend參數;

--goldengate遇錯的處理原則,即遇到不能處理的錯誤就自動abend,啟動需要人工幹預處理。

HANDLECOLLISIONS

--非選參數

--配置建議:用於goldengate自動過濾不能出來的沖突記錄,為了嚴格保證數據一致性,該參數不允許打開,如需打開,請聯系Oracle Support;

assumetargetdefs

--必選參數

--表示源庫與目標庫表結構一致。

DISCARDFILE ./dirrpt/repya1.dsc, APPEND, MEGABYTES 1024

--必選參數

--配置建議:該參數的路徑必須為相對路徑,建議該參數的值設置為1024M;

--discard文件用於記錄goldengate不能處理的記錄信息。該文件可以采用purge(刪除覆蓋)與append(追加)方式。

DISCARDROLLOVER AT 02:30

--可選參數

--配置建議:該參數統一設定為02:30,根據情況也可以進行調整;

--表示discard文件每天02:30定期輪轉。

GETTRUNCATES

--可選參數

--配置建議:在僅進行DML復制時,該參數需要打開;如果DDL和DML的復制同時打開,該數據必須關閉;

--默認不復制truncate操作。

ALLOWNOOPUPDATES

--必選參數,默認值為NOALLOWNOOPUPDATES

--註:當源表有排除列情況或者有目標表不存在的列時,當更新這列goldengate默認報錯。應用該參數後,即可讓goldengate生成一條警告信息而不是報錯。

MAP SCHEMA.*;

對應需要復制的對象,默認一一對應傳輸進程,當有拆分時參考拆分規範。

3. 附錄

3.1. 明文密碼加密步驟

在參數文件的Login設置中,密碼信息需要使用密文,加密步驟如下:

(一) 獲取密碼經過GG默認算法加密的密文

GGSCI>ENCRYPT PASSWORD ny14072 BLOWFISH ENCRYPTKEY DEFAULT

--其中,xxxxxxx為OGG用戶實際的明文密碼

Using default key...

Encrypted password:AACAAAAAAAAAAAHANGWARBMCFHHDCFMF

Algorithm used: BLOWFISH --得到加密後的密文

(二) 修改Extract參數文件:

USERID ggs, PASSWORD AACAAAAAAAAAAGAIFAAAUDVHCFUGFIYF, ENCRYPTKEY default

4.GoldenGate參數文檔

Windows and UNIX Reference Guide 11g Release 2 Patch Set 1 (11.2.1.0.1)

Goldengate參數規範