Oracle RAC 数据库具有与单实例 Oracle 数据库相同的进程和内存结构,以及特定于 Oracle RAC 的其他进程和内存结构。全局缓存服务和全局入队服务进程,以及全局资源目录(GRD)协同实现缓存融合。Oracle RAC 进程及其标识符如下:
ACMS | Atomic Control File to Memory Service |
---|---|
GTX[0-j] | Global Transaction Process |
LMON | Global Enqueue Service Monitor |
LMD | Global Enqueue Service Daemon |
LMS | Global Cache Service Process |
LCK0 | Instance Enqueue Process |
LMHB | Global Cache/Enqueue Service Heartbeat Monitor |
PING | Interconnect Latency Measurement Process |
RCBG | Result Cache Background Process |
RMSn | Oracle RAC Management Processes |
RSMN | Remote Slave Monitor |
- Atomic Control File to Memory Service (ACMS):在 RAC 环境中,每个实例的 ACMS 进程是一个代理,有助于确保分布式 SGA 内存更新在成功时全局提交,或者在发生故障时全局中止。
- Global Transaction Process (GTX[0-j]):GTX[0-j] 进程为 RAC 环境中的 XA 全局事务提供透明支持。数据库会根据 XA 全局事务的工作负载自动调整这些进程的数量。
- Global Enqueue Service Monitor (LMON): LMON 进程监控集群中的全局队列和资源,并执行全局队列恢复操作。
- Global Enqueue Service Daemon (LMD):LMD 进程管理每个实例内传入的远程资源请求。
- Global Cache Service Process (LMS): LMS进程通过在GRD中记录信息来维护数据文件状态和每个缓存块的记录。LMS 进程还控制到远程实例的消息流,管理全局数据块访问,并在不同实例的缓冲区缓存之间传输块图像。此处理是缓存融合功能的一部分。
- Instance Enqueue Process (LCK0): LCK0 进程管理非缓存融合资源请求,例如库和行缓存请求。
- Global Cache/Enqueue Service Heartbeat Monitor (LMHB): LMHB 监视 LMON、LMD 和 LMSn 进程,以确保它们正常运行而不会阻塞或旋转。
- Interconnect Latency Measurement Process (PING): 每隔几秒,一个实例中的进程就会向每个实例发送消息。该消息由目标实例上的 PING 接收。测量并收集往返时间。
- Result Cache Background Process (RCBG): 此进程用于处理连接到 Oracle RAC 中其他实例的服务器进程生成的失效和其他消息。
- Oracle RAC Management Processes (RMSn): RMSn 进程为 Oracle RAC 执行可管理性任务。RMSn 进程完成的任务包括在将新实例添加到集群时创建与 Oracle RAC 相关的资源。
- Remote Slave Monitor (RSMN): RSMN 进程管理远程实例上的后台从属进程创建和通信。这些后台从进程代表在另一个实例中运行的协调进程执行任务。