In Oracle Real Application Clusters (RAC), several background processes are responsible for managing cluster-related tasks, ensuring high availability, and coordinating the activities of multiple instances running in the cluster. These processes are similar to the background processes in a single-instance Oracle Database, but with additional processes to handle the complexities of a clustered environment.
Here’s a list of key background processes in Oracle RAC:
1. Global Cache Service (GCS) and Global Enqueue Service (GES) Processes
-
LGWR (Log Writer): As in a single-instance Oracle Database, LGWR is responsible for writing redo log entries to disk. In RAC, LGWR writes to all instances, coordinating with the Global Cache Service (GCS) to manage redo for all instances.
-
LMSn (Lock Manager Slave Processes): These processes coordinate the global cache and manage locking of data blocks across all nodes in the RAC environment. For each instance, there are one or more LMS processes. They help in ensuring that the data is consistent across the cluster.
-
LMD (Lock Manager Daemon): The LMD process manages the global enqueues and global locks within Oracle RAC. It ensures that all nodes in the cluster can access and update shared data blocks in a consistent manner.
-
LCKn (Lock Controller Processes): These processes manage the global cache and enforce locking rules at the block level. Each node can have one or more LCK processes.
2. Oracle Clusterware (Grid Infrastructure) Processes
These are part of the Oracle Clusterware software and are involved in managing the cluster environment:
-
CSS (Cluster Synchronization Service): The CSS process ensures that the various nodes in the cluster can communicate with each other and synchronize the status of all nodes. It is responsible for cluster membership and node fencing.
-
CRS (Cluster Resource Services): CRS is responsible for the management of cluster resources, such as Oracle Database instances, listeners, etc. It monitors and restarts failed resources to ensure high availability.
-
EVN (Event Notification): The EVN process is used for inter-node communication in Oracle RAC. It handles events related to cluster management, especially in failover or failback scenarios.
-
CTSS (Cluster Time Synchronization Service): This ensures that all nodes in the RAC environment are synchronized to the same time, which is crucial for maintaining consistency in the cluster.
3. Database Instance Processes
Oracle RAC instances will also run the following standard Oracle background processes:
-
DBWn (Database Writer): As in single-instance Oracle Database, the DBWn process writes dirty buffers from the buffer cache to disk. In RAC, DBWn works on the instance’s local buffer cache but coordinates with other DBWn processes in the cluster for efficient buffer management.
-
PMON (Process Monitor): PMON is responsible for cleaning up resources (e.g., orphaned sessions, locks) and recovering resources for terminated sessions. In RAC, PMON ensures that failed or terminated instances are cleaned up from the cluster.
-
SMON (System Monitor): SMON is responsible for performing recovery operations during instance startup (e.g., recovering from an instance crash), cleaning up temporary segments, and managing space in the database. SMON in RAC works in coordination with other instances to handle instance-level recovery.
-
CKPT (Checkpoint): CKPT signals the DBWn process to perform a checkpoint, ensuring that all changes in the buffer cache are written to disk and that the database’s checkpoint position is updated.
-
RECO (Recoverer): The RECO process is responsible for performing automatic recovery for distributed transactions that have failed or been interrupted. In RAC, RECO works across instances and is crucial for maintaining data integrity in distributed environments.
-
ARCH (Archiver): The ARCH process is responsible for archiving redo logs to the archive destination. In RAC, each instance has its own ARCH process, which may archive redo logs to the same or different destinations.
4. Other RAC-Specific Processes
-
OPN (Oracle Parallel Server) Process: In older versions of Oracle RAC (pre-10g), OPN processes were used to manage the communication between multiple instances. However, these processes have been largely replaced by the GCS and GES mechanisms in modern versions.
-
GSN (Global Services Network): This is a process used in some versions to coordinate messaging and shared services across RAC instances.
5. Additional Oracle RAC Background Processes
-
RMS (RAC Managed Services): These processes are responsible for the managed services that allow nodes and resources in the cluster to failover and be restarted appropriately.
-
FAN (Fast Application Notification): FAN processes are used for notifications when a failure occurs in the Oracle Cluster, such as node or instance failures, and notifying client applications about these failures in real-time.
-
RAC Listener Process: In RAC environments, the Oracle listener (with TNSLSNR process) can be configured for multiple instances and dynamically distribute client connections across instances.
Summary of Common RAC Background Processes:
- Global Cache Services (GCS) & Global Enqueue Services (GES) Processes:
LMSn
,LMD
,LCKn
, etc. - Clusterware Processes:
CSS
,CRS
,EVN
,CTSS
- Instance Processes:
DBWn
,PMON
,SMON
,CKPT
,RECO
,ARCH
- Additional Processes:
FAN
,RMS
,RAC Listener
Each of these processes ensures that Oracle RAC remains a highly available, scalable, and fault-tolerant system by managing resources, communication, synchronization, and instance coordination within the cluster.