OGG安裝配置詳細步驟(二)


GoldenGate的配置

2.1.源端配置

(1)設置歸檔模式

Ogg是基於日志的結構化數據復制軟件,所以源端數據庫必須開啟歸檔模式

歸檔模式就是保存所有的事務日志,記錄對數據庫所做的修改,比如插入,刪除,更新數據等,對這些操作都會記錄在聯機重做日志里。相反非歸檔就是不保存舊事務日志。

(2) 配置源端mgr

edit params mgr  --- 編輯mgr進程配置文件

port 7809

DYNAMICPORTLIST  7810-7920

autostart er *

autorestart er *, retries 5, waitminutes 3

purgeoldextracts ./dirdat/*,usecheckpoints, minkeepdays 7

ACCESSRULE, PROG *, IPADDR 192.168.8.*, ALLOW;

 

Start mgr  --- 啟動mgr進程

常見參數如下:

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

DYNAMICPORTLIST:動態端口:可以制定最大256個可用端口的動態列表,當指定的端口不可用時,管理進程將會從列表中選擇一個可用的端口

源端和目標段的Collector、Replicat、GGSCI進程通信也會使用這些端口;

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

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

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

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

ACCESSRULE, PROG *, IPADDR 192.168.8.*, ALLOW   一般只設置在目標端,允許被這個網段的ip地址訪問。

(3)添加表級附加日志(源端)

登陸數據庫

dblogin userid 用戶名,password 密碼

add trandata ODS.OGG_LCCONT

刪除表級日志:

delete trandata ODS.OGG_LCCONT

(4) 配置Extract抽取進程

添加隊列文件

add extract ext01, tranlog, begin now

add exttrail ./dirdat/ll, extract ext01, MEGABYTES 100   ----指定本地trail文件

 

edit params ext01  --- 編輯ext01進程配置文件

EXTRACT ext01

setenv(NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK")

SETENV(ORACLE_HOME = "/opt/oracle/product/11.2.0")

SETENV(ORACLE_SID = "orcl")

USERID 用戶名, PASSWORD 密碼

EXTTRAIL ./dirdat/ll

--getupdatebefores

nocompressdeletes

table ODS_USER.OGG_LCCONT;

常見參數如下:

Megabytes:指定隊列大小,本處設置表示100M

SETENV:配置系統環境變量

USERID/ PASSWORD:指定OGG連接數據庫的用戶名和密碼

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

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

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

dynamicresolution指的是GoldenGatex動態解析源端的表名。與非動態對應,默認GoldenGate會在一個進程啟動的時候它會到數據庫中查詢表的屬性,然后創建一個對象記錄。這條記錄在內存以及磁盤中維護,如果需要復制的表很多,那么創建的過程非常耗時。

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

GETUPDATEAFTERS|IGNOREUPDATEAFTERS:

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

GETUPDATEBEFORES| IGNOREUPDATEBEFORES:

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

GETUPDATES|IGNOREUPDATES:

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

GETDELETES|IGNOREDELETES:

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

GETINSERTS|IGNOREINSERTS:

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

GETTRUNCATES|IGNORETRUNDATES:

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

(5)配置Extract投遞進程

添加隊列文件

add extract pmpa, EXTTRAILSOURCE ./dirdat/ll

add rmttrail ./dirdat/ll, ext pmpa, MEGABYTES 100  -- 指定遠程trail文件

edit params pmpa  --- 編輯pmpa配置文件

extract pmpa

setenv(NLS_LANG = " AMERICAN_AMERICA.AL32UTF8")

rmthost 10.00.00.00, mgrport 7819, compress

rmttrail ./dirdat/ll

dynamicresolution

GETUPDATEBEFORES

table ODS_USER.OGG_LCCONT;

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

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

2.2.目標端配置

(1)配置目標端mgr

edit params mgr

port 7909

DYNAMICPORTLIST 7910-7930, 7933, 7935

autostart er *

autorestart er *, retries 5, waitminutes 3

purgeoldextracts ./dirdat/*,usecheckpoints, minkeepdays 7

ACCESSRULE, PROG *, IPADDR 10.1.0.*, ALLOW

 

(2) 配置檢查點

編輯全局配置文件

1)edit params ./GLOBALS

CHECKPOINTTABLE cs_user.checkpoint

2) 添加checkpoint表

dblogin userid ODS,password ODS

3)登陸成功后創建checkpoint表

add checkpointtable ods.checkpoint

查看創建的表

info checkpointtable ods.checkpoint

(3) 配置復制進程

edit param repa   ---- 編輯repa進程配置文件

replicat repa

setenv ( NLS_LANG = "AMERICAN_AMERICA.AL32UTF8" )

SETENV(ORACLE_SID = "orcl")

USERID 用戶名, PASSWORD 密碼

reperror default,discard

discardfile ./dirrpt/repa.dsc,append, megabytes 10

assumetargetdefs

dynamicresolution

map ODS.OGG_LCCONT2019, target cs.L_LCCONT9;

 

實時操作記錄軌跡配置:

REPLICAT repa2

setenv ( NLS_LANG= "AMERICAN_AMERICA.AL32UTF8" )

SETENV(ORACLE_SID= "orcl")

USERID DMA_USER, PASSWORD DMA_USER

ASSUMETARGETDEFS

INSERTALLRECORDS

discardfile ./dirrpt/repa2.dsc,append, megabytes 10

map CS_USER.CS_LCCONT, target DMA_USER.CS_LCCONT_HIS,

COLMAP (usedefaults,

        DEAL_DATE=@getenv('GGHEADER','COMMITTIMESTAMP'),

        OP_FLAG=@getenv('GGHEADER','OPTYPE')

);

注:getentv中的引號使用,Oracle11g 用單引號,一般oracle10g 使用雙引號

添加隊列文件

add rep repa, exttrail ./dirdat/ld, checkpointtable ods.checkpoint

add rep repa, exttrail ./dirdat/ll, checkpointtable ods.checkpoint

常見參數如下:

REPLICAT進程參數配置說明:

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

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

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

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

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

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

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

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

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

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

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

2.3.啟動源端和目標端的進程

(1) 啟動源端

Start mgr   – 啟動管理進程

Start ext *  ----啟動所有的extract進程

Start ext1   ---- 單獨啟動ext1進程

Info all   ---- 查看所有進程的狀態

正常的狀態都是RUNNING

(2) 啟動目標端

Start mgr --- 啟動管理進程

Start repa  -- 啟動復制進程


免責聲明!

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



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