xag 配置ogg高可用简单介绍
简介
GI的独立代理简称为xag,通过这个xag独立代理,可以将tomcat、ogg、jde、mysql等作为资源加入GI管理,从而为资源保障高可用性,本次主要针对单实例运行的ogg。
从11.2.0.3以后,XAG作为GI安装的一部分,无需额外安装,但XAG的新版本需独立安装。
综上,建议安装新版本XAG。
环境
| 源库 | 11.2.0.4 单实例 | 
| 目标库 | 和源库相同(不通schema测试table同步) | 
| downstream库 | 11.2.0.4  RAC | 
| ogg version | 12.2.0.1.1 | 
| xag version | v7 | 
本次由于xag要与gi结合使用,而gi是11.2所以使用低版本v7的xag,如果集群版本高的话推荐使用v10,支持微服务模式ogg。
正好练习downstream库,所以源库需要和集群rac版本保持一致,方便redo发送到rac中间库进行解析,至于ogg搭建过程就省略了,主要简单介绍一下xag。
安装
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | 
 
 ./xagsetup.sh
 
 
 PATH=$PATH:/u01/app/grid/xag_v7/bin
 
 
 agctl query releaseversion
 
 | 
使用
1.为xag单独配置应用vip(其实应该直接基于rac的vip也可以的,单独配置规范一些)
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | crsctl stat res -p |grep -ie .network -ie subnet |grep -ie name -ie subnet
 
 appvipcfg create -network=1 -ip=192.168.100.226 -vipname=xag.ggs_ext-vip.vip -user=oracle
 appvipcfg create -network=1 -ip=192.168.100.227 -vipname=xag.ggs_rep-vip.vip -user=oracle
 
 
 crsctl setperm res xag.ggs_ext-vip.vip -u user:oracle:r-x
 crsctl setperm res xag.ggs_rep-vip.vip -u user:oracle:r-x
 
 
 crsctl start res xag.ggs_ext-vip.vip
 crsctl start res xag.ggs_rep-vip.vip
 
 
 crsctl stat res xag.ggs_ext-vip.vip
 crsctl stat res xag.ggs_rep-vip.vip
 
 | 
2.通过xag添加ogg实例资源
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 | agctl add goldengate -h
 
 agctl add goldengate ggs_ext
 
 agctl add goldengate ggs_rep
 
 
 agctl status goldengate ggs_ext
 agctl status goldengate ggs_rep
 
 
 agctl start goldengate ggs_ext
 agctl start goldengate ggs_rep
 
 | 
3.其他相关命令
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 
 | agctl status goldengate ggs_ext
 agctl status goldengate ggs_rep
 
 crsctl stat res xag.ggs_ext.goldengate
 crsctl stat res xag.ggs_rep.goldengate
 
 
 crsctl stat res -t
 
 
 agctl relocate goldengate ggs_ext
 agctl relocate goldengate ggs_rep
 
 
 agctl stop goldengate ggs_ext
 agctl stop goldengate ggs_rep
 
 
 crsctl stop res xag.ggs_ext-vip.vip
 crsctl stop res xag.ggs_rep-vip.vip
 
 
 agctl delete resource ggs_ext
 appvipcfg delete -vipname=xag.gg_ext-vip.vip
 
 | 
或者vip和ogg资源一起通过agctl添加也是可以的,参考这样:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | $XAG_HOME/bin/agctl add goldengate gg_1
 
 
 
 
 
 
 
 
 
 
 
 | 
测试前:2个ogg资源和vip都运行于node02节点上面
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | ora.orcl.db1        ONLINE  ONLINE       node01                   Open
 2        ONLINE  ONLINE       node02                   Open
 ora.scan1.vip
 1        ONLINE  ONLINE       node01
 xag.ggs_ext-vip.vip
 1        ONLINE  ONLINE       node02
 xag.ggs_ext.goldengate
 1        ONLINE  ONLINE       node02
 xag.ggs_rep-vip.vip
 1        ONLINE  ONLINE       node02
 xag.ggs_rep.goldengate
 1        ONLINE  ONLINE       node02
 
 | 
关闭node02 crs进行测试:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | ora.orcl.db1        ONLINE  ONLINE       node01                   Open
 2        ONLINE  OFFLINE                               Instance Shutdown
 ora.scan1.vip
 1        ONLINE  ONLINE       node01
 xag.ggs_ext-vip.vip
 1        ONLINE  ONLINE       node01
 xag.ggs_ext.goldengate
 1        ONLINE  ONLINE       node01
 xag.ggs_rep-vip.vip
 1        ONLINE  ONLINE       node01
 xag.ggs_rep.goldengate
 1        ONLINE  ONLINE       node01
 
 | 
gi已经成功将goldengate和vip都自动relocate到存活实例node01上面,测试成功。
注意: 
本次将源端的ext和dp组给ggs_ext实例的mgr管理,将目标端的rep组给ggs_rep实例的mgr管理,它们可以运行于不同实例,或者都运行在一个实例,所以2个mgr的port不能一样和冲突。然后因为使用rac来配置ogg,为了高可用任一节点都可以启动ext、dp、rep组进程,所以使用的acfs集群文件系统。
参考
xag_v7 官网下载
xag_v10 官网下载
itpub博客:使用GI Agent(XAG)实现GoldenGate的高可用性(二)