hearbeat of RAC

Heartbeat is a pooling mechanism in clustered platforms to verify if the other server participating in the cluster is alive. Oracle also uses the heartbeat mechanism to verify the health of the other nodes participating in the cluster.In a RAccluster,every node will poll the other node in the cluster,This helps each server in the cluster to understand the health of the other server in the cluster and take appropriate actions should polling fail. In RAC,the CSS performs polling in three different methods:

1)Network Heartbeat (NHB)

2)disk Heartbeat (DHB)

3) Local Heartbeat (LHB)

1)Network Heartbeat (NHB)
The NHB is sent over the private interconnect. CSS sends an NHB every second from one node to all the other nodes in a cluster and receives an NHB from the remote nodes similarly every second. The NHB contains timestamp information from the local node and is used by the remote. If an ackNowledgment is not received from the other node
in the cluster in 30 seconds (represented by the miscount value),CSS would request a cluster reconfiguration. The reconfiguration will not always be required. CSS will verify the health and state of the node through other methods before making a decision for reconfiguration.

2)disk Heartbeat (DHB)
Apart from the NHB,we use the DHB,which is required for split-brain resolution. It contains a timestamp of the local time in Unix epoch seconds as well as a millisecond timer. The DHB is the definitive mechanism to make a decision about whether a node is still alive. DHB is a mechanism where each server in the cluster will write a timestamp to the voting disk every second. In the case of NHB failure,CSS will verify the voting disk to check if the node in question has written any timestamp to the voting disk during the NHB missed timeframe to decide if cluster reconfiguration is required.

3)Local Heartbeat (LHB)
LHB is an internal heartbeat mechanism where the message is sent to the cssdmonitor and the cssdagent to keep them informed about the health of the CSS. LHB notifications also happen every second and use and share the same thread with the NHB and DHB.

此外,我们还需要思考

1)当split-brain发生时,如何判断哪些节点存活下去?谁来计算和判断?根据什么来计算和判断?这些搞清楚,就差不多了。

2)上面介绍的是cluster层面的心跳,除此之外,Oracle层面也有自己的心跳机制,那就是通过ckpt进程和control files实现的,这里就不具体讲述了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Java Oracle 结果集是Java语言中处理数据库查询结果的一种方式。通常情况下,Java程序会通过JDBC连接Oracle数据库并执行一条查询语句,返回一个ResultSet结果集。ResultSet是一个行集,包含了查询语句的返回结果。在
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密。在计算机通信领域,AES加密算法是一种十分重要的保密技术,被广泛应用于银行、保险、互联网电子支付等重要场合。
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台性等优势,被广泛应用于企业级应用开发。而Oracle11g是一个强大的关系型数据库,由于其优秀的可靠性、安全性和扩展性,已经被广泛应用于企业级应用中。Jav
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的组成部分。为了满足移动端用户的需求,我们可以使用jQuery开发移动端大转盘抽奖活动。
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常被用来搭建高效的软件系统。Java是一种面向对象的编程语言,而Oracle是一种关系型数据库管理系统。Java 和Oracle在应用中的联系非常紧密,它们能够通过相互
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上,而 Oracle 是一个广泛使用的数据库软件。在 Java 对 Oracle 进行操作时,需要使用 Oracle 参数来确保程序正确工作。本文将从 Oracle 参数的定义、分类
随着电子竞技的兴起,越来越多的人开始慕名玩起了王者荣耀。而对于Python爱好者来说,这款游戏也有着很大的吸引力。因为Python可以帮助我们获取并处理游戏数据,从而获得更好的游戏体验。
Java与Oracle在数据处理方面都有着非常重要的地位,而在Java和Oracle的结合中,Integer类型则起到了不可替代的作用。Integer类型是Java中一个非常常用的数据类型,它可以表示范围在-2147483648到2147483647之间的整数
如今,JavaScript已经成为了web开发的必备技能之一,而IE浏览器也是众多开发者最常用的浏览器,那么,如何启用IE浏览器的JavaScript呢?
Java与Oracle是当今软件行业中广泛使用的两个技术。而SP(Stored Procedure)是Oracle数据库中存储过程的组件,可以在Java中调用Oracle数据库中的SP。在开发过程中,Java和Oracle的组合可以方便处理大规模的数据和建
Java(Java SE)和Oracle是当今世界上广泛使用的两个技术,这两个技术的认证课程可以帮助开发人员提升技能和技术水平,更有效地完成自己的任务和项目。Java-OCA,Java-OCP和Oracle数据库认证是Java和Oracle认证中最
今天我们来聊一下Java、Oracle以及Weka,这三个技术与数据挖掘密不可分,都是数据挖掘中的常见技术和工具。
在当前的软件开发领域里,Java、Oracle和Excel无疑是三款非常重要的开发工具。Java是一种面向对象的编程语言,非常灵活,可以应用于开发任何类型的应用程序;Oracle则是一种关系型数据库系统,一直以来都是企业级应用
Java和Oracle是两个经常使用的工具,而它们的字符集是程序员需要掌握且深入了解的内容。字符集是计算机语言中用来表示字符的编码集合,它包含了各种字符的数字代码,方便存储和处理。Java和Oracle使用的字符集不仅限
Java Kerberos是一种安全验证机制,目前被广泛应用于企业级系统中。当系统中的多个服务需要在用户身份验证过程中互相通信时, Java Kerberos 就可以派得上用场了。同时, Oracle 数据库也可以对 Java Kerberos 进行
Java和Oracle数据库都是非常常用的软件开发工具,其中Timestamp是两者之间共同使用的一种数据类型。在本文中,我们将讨论Java中如何使用Oracle Timestamp,并通过举例说明它在实际开发中的应用。
Java JDK Oracle 是目前广泛使用的编程语言和软件平台。Java 是一种面向对象的编程语言,具有跨平台和可移植性的优点。而Oracle 是一家提供多种数据库服务的公司,包括提供 Java 开发环境。
JavaScript是一门广泛使用的程序设计语言,拥有丰富的生态系统和强大的扩展能力。Intl是JavaScript提供的一个用于国际化支持的API,它可以帮助我们轻松地处理文本格式化、日期和时间格式化、数字格式化以及货币格式化
Java作为一门高级编程语言,以其跨平台和面向对象的特性已经成为一门被广泛应用的编程语言。而Oracle作为一款功能强大的关系数据库管理系统,它与Java语言的结合更为紧密。本文将介绍Java与Oracle结合的优点和应用场
Java是一种广泛使用的编程语言,而Oracle是目前使用最广泛的数据库管理系统之一。在Java中使用Oracle进行数据存储和管理时,涉及到一个重要的概念——TNS Name。TNS Name是Oracle数据库的唯一标识,用于标识要连接哪