FSFO Observer心跳超时不会触发切换,真正执行切换的是Data Guard Broker;Observer失联仅导致状态变为NOT RUNNING或UNKNOWN,Broker仍可依据主库不可达及阈值条件发起failover。FSFO Observer 进程是否在心跳超时后触发切换?fsfo(fast-start failover)observer 不是"自动切换"的决策者,它只负责监控和报告;真正执行切换的是 data guard broker 的 dgmgrl 后台进程。observer 自身断连或心跳超时,只会导致 observer status 变为 not running 或 unknown,不会直接触发 failover ------ 这是很多人误以为"observer 挂了就会切"的根本误区。验证这一点,关键不是看 Observer 日志,而是查 Broker 控制文件状态和 SHOW CONFIGURATION VERBOSE 输出中的 Fast-Start Failover 状态字段。Fast-Start Failover 显示 ENABLED 且 Observer 显示 NOT RUNNING:说明 Observer 失联,但 Broker 仍保有切换能力(只要主库不可达且满足阈值)若显示 DISABLED 或 REQUIRES REINSTATEMENT:说明 FSFO 已被 Broker 主动停用,需人工干预Observer 心跳默认每 10 秒发一次,超时判定窗口是 FastStartFailoverThreshold(默认 30 秒),即连续 3 次未收到响应才标记为失联如何安全模拟主库断网(不杀进程、不关实例)直接 ifconfig eth0 down 或拔网线风险高:可能触发主机级网络重置、ARP 刷新延迟、甚至引发 RAC 节点驱逐。更可控的方式是用 iptables 在主库本地拦截到备库/Observer 的流量。假设 Observer IP 是 192.168.5.100,备库监听端口是 1521,主库执行:iptables -A OUTPUT -d 192.168.5.100 -j DROPiptables -A OUTPUT -d <standby_ip> -p tcp --dport 1521 -j DROP这样主库仍能响应本地连接、不影响 DB 实例运行,但 Observer 和备库完全收不到其心跳与 redo 传输。务必先 service iptables save 或记录规则,避免重启后残留不要用 INPUT 链屏蔽,否则会干扰 Broker 代理进程(DGBROKER)自身通信断网后立刻查 DGMGRL:运行 SHOW DATABASE VERBOSExxx 看 Transport Lag 和 Apply Lag 是否持续增长怎么确认 Observer 真的"心跳超时"并影响 FSFO 决策?仅看 lsnrctl status observer 或进程是否存在没用。Observer 是否"生效",取决于它是否向 Broker 注册了有效会话,并被 Broker 记录在控制文件中。 Cleanup.pictures 智能移除图片中的物体、文本、污迹、人物或任何不想要的东西
相关推荐
疯狂打码的少年2 小时前
内存管理三雄对决:C、Java、Python 的堆区、栈区、常量区、静态区深度解析StackNoOverflow2 小时前
Sentinel服务保护框架完全指南:从原理到实践m0_734949792 小时前
如何按优先级控制 Flex 容器内子元素的截断顺序以神为界2 小时前
PHP与数据库交互实操:连接方法+SQL注入防范+系统数据库解析2401_871696522 小时前
如何保证MongoDB文档的数据质量_JSON Schema验证规则配置z4424753262 小时前
SQL利用JOIN实现数据关联分析的实操_关联维度表补全信息lUie INGA2 小时前
MySQL事件功能简介maqr_1102 小时前
SQL如何快速提取分组中最晚时间点数据_结合窗口函数实现