RAC background process Introduction

Source: Internet
Author: User

There are more processes on the RAC database than on a single instance database. These processes are unique to RAC and are set to implement cluster database functions. This article will introduce Rac-specific processes.


1. lmsn: Global cache service process.

The lmsn Process maintains the data files in the Global Resource Directory (GRD) and the status of each cached block. Lmsn is used to transmit messages and data blocks between RAC instances. The corresponding service is GCS (Global cache service). LMS is an important part of cache fusion. The LMS process is the most active background process on RAC, which consumes a lot of CPU. generally, each instance has multiple LMS processes. The default number of LMS processes for each Oracle version varies. The default value for most versions is Min (cpu_count/2, 2 ))


2. LMD: Global enqueue service daemon. (The corresponding service is called the GES Service)

The LMD process mainly processes resource requests sent from remote nodes and coordinates the access sequence of data blocks among multiple instances to ensure consistent data access. The process is as follows:

+ A connection sends a global enqueue request.
+ This request will be sent to the lmd0 process of the current node.
+ The foreground process will be in the waiting status.
+ Lmd0 will find the master node of this resource.
+ Lmd0 will send this request to the master node.
+ If necessary, a new master resource will be added to the master node.
+ At this time, you can find out who is the owner and waiter from the master node.
+ When the resource is granted to requestor, The lmd0 process of the master node will notify the lmd0 of the requestor node.
+ Then, the lmd0 of the requestor node notifies the foreground process of the resource application.

The GCS service, GES service, and GRd constitute the cache fusion (Cache fusion) of RAC)

Cache convergence is the most complex part of RAC. How data blocks are transmitted between instances through the private network and how access sequence is controlled are complicated. If you are interested, you can study

In the above summary, LMD mainly processes global enqueue requests, while lck0 mainly processes the Lock of this instance.
In addition, global deadlock on RAC is also discovered by LMD.

3. lck0: instance enqueue process.

The lck0 process mainly processes non-Cache fustion resource requests, such as library and row cache requests.

Lck0 handles the lock at the instance level:
Row cache entries
Library cache entries
Result cache entries
The owner of these instance-level locks. Waiter is the lck0 process.
As long as the owner of the Instance lock is lck0, any connection to the instance can use this cached metedata.
If the local instance does not have this lock, you need to apply for this lock, and the foreground process will wait for the DFS Lock handle.
In addition, when the Shared Pool is under pressure and some memory needs to be released to store new cursor, The LCK process will release some memory of the dictionary cache.

4. lmon: Global enqueue Service monitor.

Lmon is used to monitor the global enqueues and resources of the entire cluster, and global enqueue recovery is executed. After an exception is terminated, lmon will handle the GCS memory. When an instance joins or leaves the cluster, lmon reconfiguration the lock and resource. in other words, when a node fails, lmon is responsible for cluster reconstruction, GRD recovery, and other operations. In addition, lmon checks communication between different instances. If the other node finds that communication times out, the node Eviction occurs, so many times after the node eviction (ORA-481, ORA-29740, etc.), we need to check the lmon trace to understand the cause of the eviction.

Lmon mainly uses two heartbeat mechanisms to perform health checks:

1) The network heartbeat between nodes can be simply understood as sending ping packets between nodes at regular intervals to detect the node status. If the response can be received at the specified time, the peer node status will be considered normal.

2) by controlling the file disk heartbeat, The ckpt process on each node updates controlfile data every 3 seconds. Because controlfile is shared, therefore, the instance can check whether the other party updates the controlfile in time to determine the other Party's status.


5. diag: diagnostic capture process.

Used to print diagnostic information. The diag process will respond to dump requests sent by other processes and write the diagnostic information to the diag trace file. On RAC, when a global oradebug request is sent, the diag process of each instance prints the diagnostic information To diag trace.


For example, if the following command uses "-G", the generated dump information is written to the diag trace file of each instance:
SQL> oradebug-G All hanganalyze 3
SQL> oradebug-g all dump systemstate 266

6. ASMB: ASM background process.

Communicates with the ASM instance to manage storage and provide statistics. When you use the CP command of asmcmd, you need to use the ASMB process on the ASM instance. If the spfile of the database instance is stored on the ASM, the ASMB process is also used. ASMB is also used if OCR is stored in ASM.


7. rbal: ASM rebalance master process.

Coordinator ). On the database instance, it manages the ASM disk group.


8. onnn: ASM connection pool process.

Is to connect from the database instance to some connection pools on the ASM instance. Through these connection pools, the database can send messages to the ASM instance. For example, the connection pool sends requests to open files to the ASM instance. These connection pools only process short requests and do not process long requests such as creating files.


------ 11g exclusive:

9. Ping: interconnect latency measurement process.

Checks the private network communication between instances in the cluster. Each instance sends messages to other instances every several seconds. These messages are received by the ping process of other instances. The time it takes to send and receive information is recorded and determined whether it is normal.


10. lmhb: Global Cache/enqueue service heartbeat monitor.

Monitor whether local processes such as lmon, LMD, lck0, rms0, and lmsn are running normally, blocked, or hang.


11. rmsn: Oracle RAC management process.

Complete some RAC management tasks. For example, when a new instance is added to a cluster, you can create related resources for the instance.


12. rsmn: Remote slave monitor process.

Manage the creation of the slave process in the background and complete some tasks as the coordination person of the remote instance.


13. gtxn: global transaction process.

Provide transparent support for XA transactions in the RAC environment, maintain the global information of Xa transactions in RAC, and complete the two-phase commit of global transactions.


14. RCBG: Result cache background process.

This process is used to process the result cache-related messages on RAC.


15. ACMS: Atomic control file to memory service process.

As an agent on each instance, SGA updates are synchronized across all RAC instances, submitted globally, or rolled back globally due to some problems.

RAC background process Introduction

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.