如何测试FSFO观察者进程的自动切换_模拟主库断网与Observer心跳超时

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 智能移除图片中的物体、文本、污迹、人物或任何不想要的东西

相关推荐
kexnjdcncnxjs1 小时前
bootstrap如何设置响应式导航栏的切换宽度
jvm·数据库·python
源码之家1 小时前
计算机毕业设计:Python基于知识图谱与深度学习的医疗智能问答系统 Django框架 Bert模型 深度学习 知识图谱 大模型(建议收藏)✅
python·深度学习·机器学习·数据分析·flask·知识图谱·课程设计
2401_824222691 小时前
利用 NumPy 广播机制高效实现跨维度数组减法运算
jvm·数据库·python
dinglu1030DL1 小时前
C#怎么实现Swagger文档 C#如何在ASP.NET Core中集成Swagger自动生成API文档【框架】
jvm·数据库·python
m0_716255001 小时前
hive函数的解析及练习
python
2401_846339561 小时前
如何防止邮件HTML被过滤_安全标签白名单【指南】
jvm·数据库·python
走马走马1 小时前
数据库事务
数据库
_376271531 小时前
怎样查询不同表的字段差异 information_schema结构对比
jvm·数据库·python
YL200404261 小时前
MySQL-进阶篇-存储引擎
数据库·mysql