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
[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21565006/viewspace-1031394/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21565006/viewspace-1031394/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值