Oracle RAC Background Processes

Image Source

The GCS and GES processes, and the GRD collaborate to enable Cache Fusion. The Oracle RAC processes and their identifiers are as follows:

1. ACMS: Atomic Controlfile to Memory Service (ACMS)

In an Oracle RAC environment, the ACMS per-instance process is an agent that contributes to ensuring a distributed SGA memory update is either globally committed on success or globally aborted if a failure occurs.

2. GTX0-j: Global Transaction Process

The GTX0-j process provides transparent support for XA global transactions in an Oracle RAC environment. The database autotunes the number of these processes based on the workload of XA global transactions.


3. RMSn: Oracle RAC Management Processes (RMSn)

The RMSn processes perform manageability tasks for Oracle RAC. Tasks accomplished by an RMSn process include creation of resources related to Oracle RAC when new instances are added to the clusters.

4. RSMN: Remote Slave Monitor manages background slave process creation and communication on remote instances. These background slave processes perform tasks on behalf of a coordinating process running in another instance.

5. Lock Monitor Processes ( LMON)
  • It Maintains GCS memory structures.
  • Handles the abnormal termination of processes and instances.
  • Reconfiguration of locks & resources when an instance joins or leaves the cluster are handled by LMON ( During reconfiguration LMON generate the trace files)
  • It responsible for executing dynamic lock remastering every 10 mins ( Only in 10g R2 & later versions).
  • LMON Processes manages the global locks & resources.
  • It monitors all instances in cluster, primary for dictionary cache locks,library cache locks & deadlocks on deadlock sensitive on enqueue & resources.
  • LMON also provides cluster group services.
  • Also called Global enqueue service monitor.
6. Lock Monitor Services (LMS)
  • LMS is most very active background processes.
  • Consuming significant amount of CPU time. ( 10g R2 – ensure that LMS process does not encounter the CPU starvation).
  • Its primary job is to transport blocks across the nodes for cache-fusion requests.
  • If there is a consistent-read request, the LMS process rolls back the block, makes a Consistent-Read image of the block and then ship this block across the HSI (High Speed Interconnect) to the process requesting from a remote node.
  • LMS must also check constantly with the LMD background process (or our GES process) to get the lock requests placed by the LMD process.
  • Each node have 2 or more LMS processes.
  • GCS_SERVER_PROCESSES –> no of LMS processes specified in init. ora parameter.
  • Above parameter value set based on number of cpu’s ( MIN(CPU_COUNT/2,2))
  • 10gR2, single CPU instance,only one LMS processes started.
  • Increasing the parameter value,if global cache activity is very high.
  • Also called the GCS (Global Cache Services) processes.
Internal View: X$KJMSDP
7. Lock Monitor Daemon Process ( LMDn)
  • LMD process performs global lock deadlock detection.
  • Also monitors for lock conversion timeouts.
  • Also sometimes referred to as the GES (Global Enqueue Service) daemon since its job is to manage the global enqueue and global resource access.
  • LMD process also handles deadlock detection and remote enqueue requests.
  • Remote resource requests are the requests originating from another instance.

Internal View: X$KJMDDP

8. LCKn ( Lock Process)
  • Manages instance resource requests & cross instance calls for shared resources.
  • During instance recovery,it builds a list of invalid lock elements and validates lock elements.
9. DIAG (Diagnostic Daemon)
  • Oracle 10g – this one new background processes ( New enhanced diagnosability framework).
  • Regularly monitors the health of the instance.
  • Also checks instance hangs & deadlocks.
  • It captures the vital diagnostics data for instance & process failures.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.