Oracle Real Application Clusters (RAC) allow multiple database instances to run on different servers (nodes) while accessing the same database. To make this work smoothly, Oracle uses several background processes that manage cache sharing, locking, cluster coordination, and fault tolerance.
This blog explains the key Oracle RAC background processes shown in the diagram, in a simple and practical way.
1. Global Cache Service (GCS)
Purpose: Manages data block sharing between RAC instances.
When one instance needs a data block that another instance already has in memory, GCS ensures the block is transferred safely without disk I/O.
🔹 LMSn – Global Cache Service Process
- Core process of GCS
- Handles cache fusion (memory-to-memory block transfer)
- Ships data blocks between instances
- Manages read/write consistency
📌 Example:
Instance 1 updates a block → Instance 2 requests the same block → LMS transfers it directly from memory.
2. Global Enqueue Service (GES)
Purpose: Manages locks (enqueues) across RAC nodes.
Ensures that multiple instances do not corrupt data by accessing the same resource improperly.
🔹 LMON – Global Enqueue Service Monitor
- Monitors cluster health
- Detects node failure
- Initiates reconfiguration
- Cleans up locks after failures
🔹 LMD – Global Enqueue Service Daemon
- Manages global locks
- Handles lock requests between instances
- Resolves deadlocks
🔹 LCK0 – Lock Process
- Maintains global resource locks
- Coordinates shared resources like library cache
3. Cluster Management & Monitoring
🔹 DIAG – Diagnosability Daemon
- Collects diagnostic data
- Generates trace files on failures
- Helps in troubleshooting RAC issues
🔹 RSMN – Remote Slave Monitor
- Manages background slave processes
- Used for parallel execution and cluster tasks
4. Cache Fusion Engine (Heart of RAC)
Cache Fusion eliminates disk I/O by transferring blocks over a private interconnect.
Benefits:
- Faster performance
- Reduced disk reads
- Better scalability
📌 Works mainly through:
- LMS (block transfer)
- GCS + GES coordination
5. Advanced RAC Coordination Processes
🔹 ACMS – Atomic Controlfile Memory Service
- Manages control file updates across nodes
- Ensures consistency of critical metadata
🔹 GTX0 – Global Transaction Process
- Handles distributed transactions
- Ensures commit/rollback consistency across instances
6. Failure Handling in RAC
If a node crashes:
- LMON detects failure
- Cluster reconfiguration starts
- Locks are cleaned
- Surviving instances continue work
- No database downtime (if properly configured)
This is why RAC is known for high availability.