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。
安装
1 2 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也可以的,单独配置规范一些)
1 2 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实例资源
1 2 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.其他相关命令
1 2 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添加也是可以的,参考这样:
1 2 3 4 5 6 7 8 9 10 11 12
| $XAG_HOME/bin/agctl add goldengate gg_1
|
测试前:2个ogg资源和vip都运行于node02节点上面
1 2 3 4 5 6 7 8 9 10 11 12 13
| ora.orcl.db 1 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进行测试:
1 2 3 4 5 6 7 8 9 10 11 12 13
| ora.orcl.db 1 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的高可用性(二)