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