Goldengate Microservices服务器执行yum update的关停步骤最佳实践咨询
Goldengate Microservices 19.1 系统更新前停止操作最佳实践
通用处理结论
业内标准操作是先逐个停止所有复制进程,再关停Service Manager,禁止直接关停Service Manager来终止所有进程,该操作存在很高的数据一致性风险。
核心原因
- 避免数据损坏:直接终止Service Manager属于强制中断上层调度服务,底层的Extract、Pump、Replicat进程可能正在处理未提交事务、写入trail文件或者更新checkpoint位点,强制中断大概率会导致trail文件损坏、位点记录异常,后续重启时容易出现事务丢失、数据重复或者同步中断的问题。
- 符合官方规范:Oracle官方运维手册明确要求,OGG微服务架构关停前必须先停止所有部署下的业务复制进程,确认所有进程状态为
STOPPED、未完成事务全部落盘后,再操作Service Manager的关停。 - 减少后续重启故障:逐进程停止可以逐一验证每个进程的停止状态正常,避免直接关停Service Manager产生的僵尸进程残留、端口占用等异常,yum update完成后重启服务的成功率更高。
适配Ansible自动化的参考流程
如果你要将停止逻辑集成到Ansible playbook中,可以按以下顺序执行任务:
- 调用OGG Admin REST API或者
oggcmd命令,按Replicat -> Pump -> Extract的顺序停止所有业务进程,轮询确认所有进程返回停止状态 - 停止Service Manager服务,systemd管理的场景直接执行
systemctl stop [你的OGG Service Manager服务名]即可 - 执行yum update操作
- 更新完成后先启动Service Manager,再按Extract -> Pump -> Replicat的顺序恢复复制进程,验证同步延迟、数据一致性正常后流程结束
内容的提问来源于stack exchange,提问作者cptkirkh
相关产品推荐
相关产品推荐

