Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 E-mail Us
 Oracle Articles
New Oracle Articles

 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog

 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Oracle Support

 SQL Tuning

 Oracle UNIX
 Oracle Linux
 Remote s
 Remote plans
 Application Server

 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S


 Consulting Staff
 Consulting Prices
 Help Wanted!


 Oracle Posters
 Oracle Books

 Oracle Scripts

Don Burleson Blog 









RAC Processes

Oracle RAC Cluster Tips by Burleson Consulting

This is an excerpt from the bestselling book Oracle Grid & Real Application Clusters.  To get immediate access to the code depot of working RAC scripts, buy it directly from the publisher and save more than 30%.

The following additional processes are spawned to support multi-instance coordination:

LMON - The global enqueue service monitor (LMON) monitors the entire cluster to manage global enqueues and resources. LMON manages the instance, the process expirations, and the associated recovery for the global cache service.

LMD - The global enqueue service daemon (LMD) is a lock agent process that coordinates enqueue manager service requests. The requests are for global cache service enqueues that control access to global enqueues and resources. The LMD process also handles deadlock detection and remote enqueue requests.

LMSn - (Lock Manager Server process): These global cache service processes (LMSn) are processes for the global cache service (GCS). RAC software provides up to 10 global cache service processes. The number of LMSns varies, depending on the amount of messaging traffic between nodes in the cluster.

The LMSn handles blocking interrupts from the remote instance for the global cache service resources by:

* Managing the resource requests and cross-instance call operations for the shared resources.

* Building a list of invalid lock elements and validating the lock elements during recovery.

* Handling global lock deadlock detection and monitoring lock conversion timeouts.

LCK ? This process manages global enqueue requests and cross-instance broadcasts.

DIAG - Diagnosability Daemon ? Monitors the health of the instance and captures the data for instance process failures.

Resource Coordination

Since the RAC system allows many users to connect and process database SQL operations concurrently, many resources, such as data blocks and enqueues, are used simultaneously. This situation demands an effective synchronization of the concurrent tasks.


Within the shared cache (global cache or fused cache of multiple instances), the coordination of concurrent tasks is called synchronization. Resources such as data blocks and enqueues are synchronized as nodes within a cluster as they acquire and release ownership. The synchronization provided by real application clusters maintains a cluster wide concurrency of resources, and in turn ensures the integrity of the shared data. Even though there is seamless and transparent synchronization of concurrent tasks within the shared cache, it does not come without a cost in overhead. Processing within the local buffer cache is always faster than processing blocks across instances.

The key to successful cluster database processing is to divide the tasks that require resources among the nodes, so that very little synchronization is necessary. The less synchronization necessary, the better the system?s performance and scalability will be. The overhead of synchronization can be very expensive if there is excessive inter-node communication. Block access times vary, as shown in Figure 7.4. According to Oracle studies, accessing a block within the local cache is many times faster than accessing a block in a remote cache (or buffer of another instance in the cluster). At the same time, accessing a block from disk is even more expensive. A combination of local cache block access with occasional access to remote cache blocks gives good performance levels.

Figure 7.4: Block Access Times

GCS Resource Modes and Roles

Because of data block transfers among multiple instances, the same data block can exist in multiple caches. The resource mode is defined as a concurrency control that establishes global access rights for instances in a cluster. The data block (or GCS resource) can be held in different resource modes, depending on whether a resource holder intends to modify the data or read the data. The modes are as follows:

* Null (N) mode - Holding a resource at this level conveys that there are no access rights. Null mode is usually held as a placeholder, even if the resource is not actively used. [Steve Adams]

* Shared (S) mode - When a resource is held at this level, it will ensure that the data block is not modified by another session, but will allow concurrent shared access.

* Exclusive (X) mode - This level grants the holding process exclusive access. Other processes cannot write to the resource. It may have consistent read blocks.

The resource mode is an important mechanism to maintain data integrity and avoid data corruption issues. GCS resources are specified to have global roles or local roles. These roles are mutually exclusive.

* When a block is first read into the cache of an instance and other instances have not read the same block, then the block is said to be locally managed and is therefore assigned a local role.

* After the block has been modified by the local instance and transmitted to another instance, it is considered to be globally managed, and is therefore assigned a global role.

Basically, the concept of role supplements the access mode characteristic. A typical data block has both of these characteristics.


This is an excerpt from the bestselling book Oracle Grid & Real Application Clusters, Rampant TechPress, by Mike Ault and Madhu Tumma.

You can buy it direct from the publisher for 30%-off and get instant access to the code depot of Oracle tuning scripts.


Oracle Training at Sea
oracle dba poster

Follow us on Twitter 
Oracle performance tuning software 
Oracle Linux poster


Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


Copyright © 1996 -  2017

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.

Remote Emergency Support provided by Conversational