RAC概念笔记

发布于:2025-09-10 ⋅ 阅读:(21) ⋅ 点赞:(0)

内存融合核心进程:
LMS: 完成数据块在实例之间的传递工作,相关消息的发送和接收工作。
每个实例都能够对相同的数据进行操作,所有需要LMD进程对这些队列资源进行管理和协调,每个数据库实例只包含一个LMD进程。

每个实例默认情况下只包含一个LCK进程。

总结:LMS负责协调实例间数据块的传递,LMD负责协调全局锁,LCK负责协调实例锁。

RAC 分为三层:
守护进程层 : crsd,oprocd,ocssd,racg,evmd 
资源层 : gsd,ons,instance,lsnr,vip,database
后台进程层 :LMS,LMN,LMON,LCK,DIAG

LMSn:cache fusion主要进程,负责数据块在实例间传递,对应的服务叫GCS

LMS是Cache Fusion的一个重要部分。

LMS用于在RAC的实例间进行message以及数据块的传输。


RAC 的四大问题: 脑裂,健忘,IO隔离,并发控制

全局排队服务(GES)Global Enqeue Service
全局缓存服务(GCS)Global Cache Service
通过Global Resource Directory(GRD)来维护和记录每个数据块的状态

集群大概可分为四个层次

OHAS:负责集群的初始化资源和进程
CSS :负责构建集群并保证集群的一致性
CRS :负责管理集群的各种应用程序的资源
EVM :负责在集群节点间传递集群事件

整个Cache Fusion 有两个服务组成:GCS(LMS)和GES(LMD)。 GCS 负责数据库在实例间的传递,GES负责锁管理。
整个cache funsion有两个服务:GCS和GES,GCS负责数据块在实例间的传递,而后者负责锁管理。

init -->init.evmd -->evmd 

init -->init.crsd -->crsd 

init -->init.cssd -->cssd 

全局缓存服务进程(Global Cache Service ,GCS)和全局队列服务进程(Global Enqueue Service,GES)
GES主要负责维护字典缓存和库缓存内的一致性,
GCS主要负责协调不同实例间对数据块的访问,它们通过Global Resource Directory(GRD)来维护和记录每个数据块的状态,
使其在群集中的各个节点之间同步和串行处理对数据的访问


GRD 是一个内存结构,在所有的实例中分配。
GRD里面记录着每个数据块在集群间的分布图,位于每个实例的SGA中。
每个实例都是部分GRD,所有实例的GRD 汇总在一起才是一个完整的GRD。

RAC主要通过Distributed Lock Management(DLM:分布式锁管理器) 来解决并发问题,RAC 的DLM 叫作 Cache Fusion

整个Cache Fusion 有两个服务组成:GCS(LMS)和GES(LMD)。 GCS 负责数据库在实例间的传递,GES负责锁管理。

Cache Fusion(内存融合)是通过高速的Private Interconnect,在实例间进行数据块传递,它是RAC 最核心的工作机制,
它把所有实例的SGA虚拟成一个大的SGA区。
每当不同的实例请求相同的数据块时,这个数据块就通过Private Interconnect 在实例间进行传递。
 


网站公告

今日签到

点亮在社区的每一天
去签到