oracle RAC 底层进程介绍

 1.GSD global services daemon 

oracle官方文档的描述 

The Global Services Daemon (GSD) runs on each node with one GSD process per node. The GSD coordinates with the cluster manager to receive requests from clients such as the DBCA, EM, and the SRVCTL utility to execute administrative job tasks such as instance startup or shutdown. The GSD is not an Oracle instance background process and is therefore not started with the Oracle instance. 

GSD与rac的管理工具dbca srvctl oem进行交互,用来完成实例的启动关闭等管理任务。 
为了保证这些管理工具运行正常必须在所有的节点上先start gsd,并且一个GSD进程支持在 
一个节点的多个rac.gsd进程位于$ORACLE_HOME/bin目录下,其log文件为$oracle_home 
/srvm/log/gsdaemon.log 
例如: 
假设使用oem工具来启动一个实例,oem把该任务传递给相应的智能引擎,该智能引擎生成 
一个包含SRVCTL命令的脚本文件,GSD进程读取该脚本文件并且执行该脚本,最后GSD把 
执行结果返回给智能引擎,近而智能引擎返回给OEM. 
又例如假设使用srvctl工具关闭所有的实例,GSD进程接受来自SRVCTL工具发出的请求,并 
在本地节点上执行该请求,然后把执行结果返回给SRVCTL会话。 

2.LMON: Global Enqueue Service Monitor 
oracle官方文档的描述 
Global Enqueue Service Monitor (LMON) 

The background LMON process monitors the entire cluster to manage global resources. LMON manages instance deaths and the associated recovery for any failed instance. In particular, LMON handles the part of recovery associated with global resources. LMON-provided services are also known as Cluster Group Services. 

LMON主要监测群集内的全局队列和全局资源,管理实例和处理异常并相应的群集队列进行恢复操作。 

3.LMD: Global Enqueue Service Daemon 
oracle官方文档的描述 
Global Enqueue Service Daemon (LMD) 

The resource agent process that manages requests for resources to control access to blocks. The LMD process also handles deadlock detection and remote resource requests. Remote resource requests are requests originating from another instance. 

LMD进程主要管理对全局队列和资源的访问,并更新相应队列的状态,处理来自于其他实例 
的资源请求。每一个全局队列的当前状态存储在相应的实例共享内存中,该状态表明该实例 
具有相应的权利使用该资源。一个实例(master)的共享内存中存在一个特殊的队列,该队 
列纪录来自其他远程实例的资源请求,当远程实例的LMD进程发出一个资源请求时,该请求 
指向master实例的LMD,当master实例的LMD进程受到该请求后,在共享内存中的特殊队列 
中监测该资源是否无效,如果有效则LMD进程更新该资源对列的状态,并通知请求资源的 
LMD进程该资源队列可以使用了,如果资源队列正在被其他实例使用或者当前无效,则 
LMD进程通知正在使用中的实例的LMD进程应该释放该资源,等资源释放变得有效时, 
MASTER实例的LMD进程更新该资源队列的状态并通知请求资源实例的LMD进程该资源 
队列可以使用了。另外LMD进程也负责队列的死锁问题。。。 

4. LMSn: Global Cache Service Processes 
oracle官方文档的描述 
Global Cache Service Processes ( LMSn) 

Processes that manage remote messages. Oracle RAC provides for up to 10 Global Cache Service Processes. The number of LMSn varies depending on the amount of messaging traffic among nodes in the cluster. 

GLOBAL CACHE SERVICE PROCESS(n 0~9) LMS进程主要用来管理集群内数据块的访问,并在不同实例的BUFFER CACHE中传输块 
镜像。 LMS进程跨集群管理数据库的请求,并保证在所有实例的BUFFER CACHE中一个 
数据块的镜像只能出现一次。 LMS进程靠着在实例中传递消息来协调数据块的访问,当 
一个实例请求数据块时,该实例的LMD进程发出一个数据块资源的请求,该请求只向 
MASTER数据块的实例的LMD进程,MASTER实例的LMD进程同时正在使用的实例的LMD 
进程释放该资源,这时拥有该资源的实例的 LMS进程会创建一个数据块镜像的一致性读 
然后把该数据块传递到请求该资源的实例的BUFFER CACHE中。 
LMS进程保证了在每一时刻只能允许一个实例去更新数据块,并负责保持该数据块的 
镜像纪录(包含更新数据块的状态FLAG),RAC提供了10个 LMS进程,该进程数量随着 
节点间的消息传递的数据的增加而增加。 

5.LCK 
oracle官方文档的描述 

Instance Enqueue Process 
进程主要用来管理实例间资源请求和跨实例调用操作,调用操作包括数据字典等对象 
的访问;并处理出CACEH FUSION的CHACE资源请求(例如:DICTIONARY CACHE) 

6.DIAG: 

DIAGNOSABILITY DAEMONDIAG进程主要用来捕获实例中失败进程的诊断信息,并生成相应的TRACE文件(该trace 
文件保存在backupground_dump_dest/cdmp_timestamp目录下),该进程不 
需要进行配置更不应该被停止。该进程自动启动不需要进行调整,如果该进程失效则自动 
重新启动。 

7. ONS Oracle Notification Services 
oracle 官方文档的描述 
A publish and subscribe service for communicating information about all FAN events. 

负责不同的节点点的通信。 

参考文档  http://download.oracle.com/docs/cd/B19306_01/rac.102/b14197/rac_glossary.htm#sthref1791

你可能感兴趣的:(进程)