在Clusterware层,所有节点共同组成一个集群,这些节点形成了一个集群成员列表(Cluster Membership List)。每个节点被分配一个成员ID(node id)。这些Clusterware之间相互通信,以了解各节点的状态,并选出一个节点作为Master Node,负责管理集群状态的变迁。新节点的加入或节点的离开都会导致集群状态的变化,最终达到新的稳态。每个稳定状态用一个数值表示,称为Cluster Incarnation Number(CIN),在稳态之间转换时,CIN会发生改变。在RAC中,各个实例构成一个实例成员列表(Instance Membership List),每个RAC实例也使用Clusterware层的node id作为身份标识,这个node id在集群生命周期内是固定不变的。RAC实例在启动时会将LMON、DBWR等操作共享存储的进程注册到Clusterware中,并从中获得node id作为组ID。
Clusterware层的Oracle RAC原理
相关推荐
Oracle RAC架构原理
Oracle RAC架构原理
RAC架构的核心在于多个实例共享同一个数据库,每个实例拥有独立的PGA,但共享同一个SGA。
SGA(System Global Area) 的变化
RAC实例的SGA与单实例SGA最大的区别在于新增了GRD(Global Resource Directory)部分。GRD负责记录数据块在各个实例SGA中的分布、版本和状态,确保数据一致性。由于数据块可以在任何实例的SGA中拥有拷贝,因此需要GRD来协调和管理这些拷贝。GRD没有明确的配置参数,每个SGA中只包含部分GRD信息。
SGA主要组成部分:
Database Buffer Cache:存储从数据文件读取的数据块
Redo Log Buffer:存储所有修改操作的日志信息
Shared Pool:包含数据字典缓存、库缓存、JAVA池等
Large Pool:用于备份恢复、IO Slaves等操作
其他重要组件:
LGWR(Log Writer):负责将Redo Log Buffer中的日志信息写入Redo Log文件
DBWR(Database Writer):负责将Database Buffer Cache中的脏数据块写入数据文件
LMON、LMSn、LMD、LCK、GSD:RAC特有的后台进程,负责实例监控、资源协调、死锁检测等
RAC架构原理:
RAC通过高速互联网络将多个实例连接起来,每个实例都能访问共享数据库,所有实例的修改操作都会记录在Redo Log文件中,并通过GRD协调数据块在各个实例中的分布和状态,从而保证数据一致性和高可用性。
Oracle
5
2024-05-15
Oracle RAC 原理浅析
Oracle RAC 原理浅析
Oracle RAC (Real Application Clusters) 是一种允许在多个服务器节点上同时运行单个 Oracle 数据库实例的技术。其核心原理在于:
共享存储: 所有节点共享访问同一个存储区域网络 (SAN) 上的数据库文件。缓存融合: 每个节点拥有自己的内存缓存,RAC 通过高速互联网络实现缓存数据的一致性。全局资源管理: RAC 使用分布式锁管理器 (DLM) 来协调各个节点对共享资源的访问,确保数据一致性。
Oracle
1
2024-05-27
重构触发类型及Oracle RAC原理
集群重构可以由多种因素引起:1、某个节点加入或离开集群,触发NM引发的重构;2、网络心跳异常,如LMON或GCS、GES通信异常,超时时间由参数_cgs_send_timeout控制,触发IMR引发的重构;3、控制文件心跳异常,每个实例的CKPT进程每3分钟更新控制文件的Checkpoint Progress Record,由参数_controlfile_enqueue_timeout控制重构时间,同样由IMR引发。
Oracle
0
2024-09-19
Enqueue算法解析与Oracle RAC原理
Enqueue算法使用的是Lock机制,理解为“先入先出队列”。若进程的锁定请求无法满足,该进程的Lock Structure将被添加到Waiter链表的末端。当占用进程释放锁时,会检查Waiter和Converter队列,优先分配给最先请求的进程。若进程需要两种不同模式的锁(如Share Mode和Exclusive Mode),它会首先请求Share Mode,该锁的Lock Structure挂在Owner链表上。之后,若需Exclusive Mode锁,进程必须释放Share Mode锁并申请新的锁,此请求则挂在Convertor链表上,Convertor优先于Waiter进行处理。
Oracle
0
2024-11-03
ORACLE 11G RAC集群应用层命令简介
总结了工作中常用的Oracle 11g RAC维护命令,帮助读者快速掌握关键技能。
Oracle
3
2024-07-24
在Oracle VM上安装Oracle Clusterware 11g
很多用户都希望了解Oracle RAC,但又面临硬件条件不足的问题。因此,我们可以采用Oracle VM,在XEN虚拟机上进行安装。Oracle VM是一款基于开源Xen管理器的虚拟化软件,支持Oracle和非Oracle的应用程序。它于2007年11月12日正式推出,最新版本为2.1.1,在OTN上可免费下载相关资源。用户可以通过多种方式在OVM中快速创建虚拟机和虚拟磁盘。
Oracle
0
2024-08-23
Oracle 11G RAC和DG的原理与配置详解
Oracle 11G RAC和DG的原理与配置,包括三个文档,涵盖高可用性和数据保护解决方案。
Oracle
0
2024-08-25
Oracle RAC原理并发访问与数据修改技术详解
并发访问(包括并发读取和并发修改)在Oracle RAC中是常见的技术挑战。在多用户环境下,可能出现数据不一致的问题。例如,脏读指用户读取了其他用户修改但尚未提交的数据,导致信息不准确。更新丢失则是指一个会话修改了数据,但在提交前另一个会话已经提交了对同一数据的修改,导致先前的修改丢失。Oracle RAC通过复杂的锁定和资源管理机制来解决这些问题,确保数据的一致性和并发性。
Oracle
3
2024-07-16
深入解析动态数据源(Atom层)的TDDL工作原理
动态数据源(Atom层)是一种技术架构,用于管理多个MySQL数据库实例,如192.168.1.1和192.168.1.2,并通过TDDL技术进行统一管理。每个数据库实例包含多个数据分片,例如MEMBE_ID INFO,用于存储不同的数据片段,如4 test1234和5 test1234,或3 abcd和9 abcd等。这种架构有效地管理和优化了数据访问和查询。
MySQL
3
2024-07-18