Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Prashanth.

Asked: February 06, 2008 - 11:20 am UTC

Last updated: August 31, 2023 - 2:48 am UTC

Version: 10.2.0

Viewed 10K+ times! This question is

You Asked

Hi Tom,

Please let me know the functions of LMON,LMD and LCK Process in 10g RAC in
bit more detail.
I beleive LMON manages LMD Process along with Global resources and Enqueues.

Thanks.

and Tom said...

quote from Expert Oracle Database Architecture:


The following processes are unique to a RAC environment. You will not see them otherwise.
* Lock monitor (LMON) process: The LMON process monitors all instances in a cluster to detect the failure of an instance. It then facilitates the recovery of the global locks held by the failed instance. It is also responsible for reconfiguring locks and other resources when instances leave or are added to the cluster (as they fail and come back online, or as new instances are added to the cluster in real time).

* Lock manager daemon (LMD) process: The LMD process handles lock manager service requests for the global cache service (keeping the block buffers consistent between instances). It works primarily as a broker sending requests for resources to a queue that is handled by the LMSn processes. The LMD handles global deadlock detection/resolution and monitors for lock timeouts in the global environment.

* Lock manager server (LMSn) process: As noted earlier, in a RAC environment, each instance of Oracle is running on a different machine in a cluster, and they all access, in a read-write fashion, the same exact set of database files. To achieve this, the SGA block buffer caches must be kept consistent with respect to each other. This is one of the main goals of the LMSn process In earlier releases of Oracle Parallel Server (OPS) this was accomplished via a ping. That is, if a node in the cluster needed a read-consistent view of a block that was locked in exclusive mode by another node, the exchange of data was done via a disk flush (the block was pinged). This was a very expensive operation just to read data. Now, with the LMSn, this exchange is done via very fast cache-to-cache exchange over the clusters¿ high-speed connection. You may have up to ten LMSn processes per instance.

* Lock (LCK0) process: This process is very similar in functionality to the LMD process described earlier, but it handles requests for all global resources other than database block buffers.

* Diagnosability daemon (DIAG) process: The DIAG process is used exclusively in a RAC environment. It is responsible for monitoring the overall ¿health¿ of the instance, and it captures information needed in the processing of instance failures.

Rating

  (2 ratings)

We're not taking comments currently, so please try again later if you want to add a comment.

Comments

Prashanth Subbakrishna, February 08, 2008 - 6:04 am UTC

Thanks.

Prashanth Subbakrishna.

RAC Processes

Sumeet, August 28, 2023 - 8:41 am UTC

I guess this remains pretty much the same in 19c RAC
Connor McDonald
August 31, 2023 - 2:48 am UTC

With any of the internals, the best way of answering that is "more or less".

Things are constantly tweaked, modified from release to release to get improvements in performance or reliability etc etc...but the main concepts remain unchanged.