ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rac读书札记---后台进程

rac读书札记---后台进程

原创 Linux操作系统 作者:season0891 时间:2011-09-09 16:29:51 0 删除 编辑

1.GSD global services daemon

   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

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

3.LMD:GLOBAL ENQUEUE SERVICE DAEMON

LMD进程主要管理对全局队列和资源的访问,并更新相应队列的状态,处理来自于其他实例

的资源请求。每一个全局队列的当前状态存储在相应的实例共享内存中,该状态表明该实例

具有相应的权利使用该资源。一个实例(master)的共享内存中存在一个特殊的队列,该队

列纪录来自其他远程实例的资源请求,当远程实例的LMD进程发出一个资源请求时,该请求

指向master实例的LMD,当master实例的LMD进程受到该请求后,在共享内存中的特殊队列

中监测该资源是否无效,如果有效则LMD进程更新该资源对列的状态,并通知请求资源的

LMD进程该资源队列可以使用了,如果资源队列正在被其他实例使用或者当前无效,则

LMD进程通知正在使用中的实例的LMD进程应该释放该资源,等资源释放变得有效时,

MASTER实例的LMD进程更新该资源队列的状态并通知请求资源实例的LMD进程该资源

队列可以使用了。另外LMD进程也负责队列的死锁问题。。。

4.LMSn: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

LCK进程主要用来管理实例间资源请求和跨实例调用操作,调用操作包括数据字典等对象

的访问;并处理出CACEH FUSION的CHACE资源请求(例如:DICTIONARY CACHE)

6.DIAG:DIAGNOSABILITY DAEMON

DIAG进程主要用来捕获实例中失败进程的诊断信息,并生成相应的TRACE文件(该trace

文件保存在backupground_dump_dest/cdmp_timestamp目录下),该进程不

需要进行配置更不应该被停止。该进程自动启动不需要进行调整,如果该进程失效则自动

重新启动。


转自:http://madboy.itpub.net/post/932/15265

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

请登录后发表评论 登录
全部评论

注册时间:2008-06-10

  • 博文量
    791
  • 访问量
    1946221