原标题:Oracle RAC 内存融合(Cache Fusion)
内存融合核心进程
LMS(Global Cache Service Process):这个进程负责完成GCS的大部分工作,它会维护GRD中数据块资源的信息,完成数据块在实例之间的传递工作,相关消息的发送和接收工作。每个数据库实例中会存在多个LMS进程,名称为LMS,默认的LMS进程数量是根据节点的CPU数量计算出来的。
LMD(Global Enqueue Service Daemon):这个进程主要负责GES相关资源的管理工作,GES资源主要指Oracle中的排队(Enqueue)资源,由于RAC数据库包含很多实例,每个实例都能够对相同的数据进行操作,所有需要LMD进程对这些队列资源进行管理和协调,每个数据库实例只包含一个LMD进程。
LCK(Instance Enqueue Process):这个进程主要负责实例锁(实例锁的含义并不是实例级别的锁,而是指这种锁管理的资源仅限于本地实例)管理,实例级别的锁包括:library cache lock,row cachelock等,实例级别的锁是由LCK进程通过广播的方式进行管理的,当一个进程需要持有一个实例锁时,LCK进程会以广播方式向所有远程实例的LCK进程发送这个请求,而远程实例收到这个请求之后,更新自己的信息并反馈信息(如果远程实例的某个进程以不兼容的方式持有了这个锁,对应实例的LCK进程会通知持有者进程释放对应的锁,然后再返回),每个实例默认情况下只包含一个LCK进程。
全局资源目录(Golabl Resource Directory)
GRD:在shared pool与buffer cache中