Crucial Oracle RAC – Background Processes – Facilitate Cache Fusion

Background processes that support Oracle RAC Cache Fusion
What is Cache Fusion?  The general term used by Oracle to control the synchronization of SGA across database instances in a RAC cluster.
The following background processes are used to implement it and are started on each instance when the instance starts.
Generally, the processes below communicate via messages on a private network interconnect supporting high speed syncronization of SGAs between the instances.
The idea is avoid writing to disks if at all possible and instead send messages across the private interconnect and use enqueue (locks) and the processes below to do so.
LMSn:  Stands for Lock Manager Server. Also commonly called GCS – Global Cache Services.  Up to 10 processes.

It’s main purpose is: it sends messages containing the actual blocks requested.  Either as current (unchanged) or CR (reconstructed with undo) blocks.  Will also store a PI (Past Image) block to avoid disk writes.

Also communicates with LGWR (kicks) when a block that has been requested that has been changed and not yet flushed out of the log buffer memory structure to the redo log files.

Participates in DRM – dynamic resource mastering – changing the master instance of buffer blocks.

LMON:  Stands for Lock Monitor.  Also referred to as CGS Cluster Group Services

The LMON process monitors instances in a cluster to detect the failure of an instance.

When it detects a failure, it facilitates the recovery of the global locks held by the failed instance. It is also responsible for changing lock statuses and other resources when instances leave or are added to the cluster, and when DRM (Dynamic Resource Mastering) is initiated – LMON coordinates with LMS for DRM.

In other words, LMON facilitates the redistribution of instance locks when instances are started or shutdown.  LMON will also recover instance lock information prior to the instance recovery process.  LMON works with the Process Monitor (PMON) to recover dead processes that hold instance locks.

LMD:  Stands for Lock Manager Daemon.  Also commonly called GES – Global Enqueue Services

This process manages incoming lock requests on the Buffer Cache blocks.  The LMD process also handles deadlock detection and remote enqueue requests.

LCK0:  GRD lock manager

This process manages lock requests for non-RAC library cache objects, and Global Resource Directory (GRD) structures (a shared pool structure used for RAC only).  In other words, lock requests for everything but: buffer blocks from the SGA-Buffer Cache.

LCK0 process also maintains object-level statistics and decides if remastering (DRM) should be triggered on an object.

RMSn:  RAC management processes include tasks like the creation of resources as nodes are added.
DIAG:  RAC instance health monitor

Responsible for monitoring the overall health of a RAC instance, it captures information needed in the processing of instance failures.

ACMS:

The Atomic Controlfile to Memory Service (ACMS) process insures SGA memory updates are updated on all nodes or none.

RSMN:

Remote Slave Monitor (RSMN) performs remote instance tasks for a coordinating process.

GTX0:

The Global Transaction Process supports global XA transactions (transactions that run across more than one database).

References:
“https://logicalread.com/oracle-11g-rac-systems-overview-mc02”
 

Scroll to Top