暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OGG双活集群,年故障时间=0分钟!

132

1.OGG高可用是DBA的生命线?

OGG进程宕机=数据断流。单节点部署的OGG,一旦遭遇存储故障、主机崩溃或网络闪断,同步延迟将呈指数级飙升,业务停摆只是时间问题.

即使已有RAC(实例级冗余)和DG(数据库级冗余),OGG的同步链路仍是单点。当主库RAC节点宕机,OGG进程若未自动切换,容灾架构瞬间崩塌.

2.OGG HA架构

Oracle集群+ACFS+XAG

ACFS共享存储:一刀斩断单点故障
将OGG配置文件、检查点、日志文件存入ACFS卷,任意节点宕机秒级接管,彻底告别存储单点故障引发的全链路中断!

image.png

Oracle集群+NFS+HA切换脚本

存储层:NFS共享OGG配置文件、检查点(dirchk)及日志(dirdat),确保故障切换时新节点可无缝读取数据。

集群管理:HA脚本集成Oracle Clusterware,监控OGG进程状态,异常时自动触发切换。

节点宕机后,集群将VIP及OGG进程迁移至健康节点,并重启进程(依赖NFS共享文件保证数据连续性)。

image.png

3.ACFS+XAG高可用切换

3.1 计划内切换

此步骤的主要目的是计划内(如某台节点做维护情况下),将该OGG进程从某个节点切换到另外一个节点。

1.检查 gg_oracle 当前运行节点
crsctl status res xag.ggsm_oracle.goldengate
NAME=xag.ggsm_oracle.goldengate
TYPE=xag.goldengatesca.type
TARGET=ONLINE
STATE=ONLINE on racdb

ip addr|grep 6.20
inet 192.168.6.20/24 brd 192.168.6.255 scope global secondary ens33:2

通过命令执行切换,通过crsctl或者agctl命令都可以
--启动ggsm_oracle到节点2
agctl relocate goldengate ggsm_oracle --node racdb2

image.png

3.2 进程异常切换

由于OGG资源ggsm_oracle依赖于OGG软件和VIP地址,基于OGG和进程的运行,尽量模拟OGG进程或者VIP地址异
常情况下,Clusterware会怎么来管理OGG资源。

1.Kill OGG进程
此种情况下由于机器还存在而且VIP还是在该节点上,
所以CRS检查到进程异常后,
会去重启OGG管理进程及ER进程。

-进行kill所有OGG SM进程
kill -9 13422

2.查看ogg进程 - 被重启
启动之后查看日志
cd /u01/app/grid/diag/crs/racdb2/crs/trace
tail -fn 300 crsd_scriptagent_oracle.trc
观察CRS中 gg_oracle 资源状态
crsctl status res -t

4.NFS+HA脚本高可用切换

在另外一个节点尝试重新切换

[root@racdb1 ogg]# crsctl relocate resource oggapp -f

image.png

总结

“高可用不是技术,而是生存法则”。当OGG同步链路具备RAC的弹性、DG的冗余、ACFS的坚挺,DBA才真正从“救火队员”蜕变为“架构指挥官”

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论