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

oracle 的2种心跳

手机用户7421 2024-08-02
234

Oracle Real Application Clusters (RAC) 使用两种主要的心跳机制来确保集群节点之间的通信和状态监测:网络心跳 (Network Heartbeat) 和 磁盘心跳 (Disk Heartbeat)。

网络心跳 (Network Heartbeat)

  • 定义:网络心跳是一种通过专用的私有网络进行的通信机制,用于集群节点之间的内部通信。
  • 频率:网络心跳每秒发生一次。
  • 实现:通过 Cluster Synchronization Services (CSS) 进程(即 ocssd.bin)实现。CSSD 的一个线程(发送进程)发送 TCP 心跳包给集群中的所有节点,另一个线程(接收进程)接收心跳包。
  • 超时机制
    • Misscount:如果一个节点在一定时间内没有接收到其他节点的心跳信息,则认为该节点已丢失连接。
      • 在 10.2.0.4 及之后版本,网络心跳超时 misscount 默认为 60 秒。
      • 在 11.2 及之后版本,网络心跳超时 misscount 默认为 30 秒。
    • 如果一个节点在 15 秒(50% of misscount)内接收不到来自其他节点的心跳信息,CSSD 日志中会出现关于心跳丢失的 "WARNING" 信息。
    • 如果在 22 秒(75% of misscount)及 27 秒(90% of misscount)内仍没有接收到心跳信息,则会有进一步的警告。

磁盘心跳 (Disk Heartbeat)

  • 定义:磁盘心跳是一种基于共享存储上的投票文件(votedisk)的通信机制,用于在集群节点之间传递状态信息。
  • 频率:磁盘心跳同样每秒发生一次。
  • 实现:通过 CSS 进程实现,CSSD 会在投票文件上写入心跳记录。
  • 超时机制
    • DiskTimeout:如果一个节点在一定时间内没有更新投票文件,则认为该节点已丢失连接。
      • 在 10.2.0.4 及之后版本,磁盘心跳超时 DiskTimeout 默认为 200 秒。

关键点

  • CSSD 进程:不论是网络心跳还是磁盘心跳,它们都依赖于 CSSD 进程来实施这些操作。如果 CSSD 进程出现问题(例如 CPU 资源不足、内存不足等),可能会导致心跳超时。
  • 默认设置:这些超时值在不同的 Oracle RAC 版本中有不同的默认设置,但在实际部署中,根据环境需求可以进行调整。
  • 稳定性影响:网络和存储的稳定性对 RAC 的稳定运行至关重要,因此需要确保 CSSD 进程的稳定运行。

综上所述,网络心跳和磁盘心跳共同作用于 Oracle RAC 集群中,以确保集群的高可用性和数据一致性。

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

文章被以下合辑收录

评论