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  -- 启动复制进程

posted @ 2018-06-28 19:26  谢小板  阅读(11183)  评论(0编辑  收藏  举报