一、RAC后台进程
LMON:LOCK Monitor Processes 也被称为Global enqueue service monitor
监控整个集群状况,维护GCS的内存结构 监控非正常终止的进程和实例 当实例离开和加入集群时,锁和资源的重新配置 管理全局的锁和资源 监控全局的锁资源、处理死锁和阻塞
LCK:Lock Process
LCK进程主要用来管理实例间资源请求和跨实例调用操作,调用操作包括数据字典等对像访问,并处理非
CACEH FUSION的CHACE资源请求,(例如dictionary cache或row cache的请求) 由于LMS进程负责主要的锁管理功能,所以每个实例只有一个LCK进程
LMD:Lock Monitor Deamon Process
LMD进程主要管理对全局队列和资源的访问,并更新相应队列状态,处理来自于其它实例的资源请,每一个全局队列的当前状态存储在相应的实例共享内存中,该状态表明该实例具有相应的权利使用该资源,一个实例master的共享内存中存在一个特殊的队列,该队列记录来自其它远程实例的资源请求,当远程实例的LMD进程发出一个资源请求时,该请求指向master实例的LMD,当master实例的LMD进程受到该请求后,在共享内存中的特殊队列中监测该资源是否有无效,如果有效LMD进程更新该资源对列的状态,并通知请求资源的LMD进程该资源队列可以使用了,如果资源队列正被其它实例使用或当前无效,则LMD进程通知正在使用中的实例的LMD进程应用释放该资源,等资源释放变得有效时,master实例的LMD进程更新该资源队列的状态,并通知请求资源实例的LMD进程,该资源队列可以使用了
全局队列服务(GES):主要负责维护字典缓存和库缓存内的一致性。字典缓存是实例的 SGA 内所存储的对数据字典信息的缓存,用于高速访问。由于该字典信息存储在内存中,因而在某个节点上对字典进行的修改(如DDL)必须立即被传播至所有节点上的字典缓存。GES 负责处理上述情况,并消除实例间出现的差异。出于同样的原因,为了分析影响这些对象的 SQL 语句,数据库内对象上的库缓存锁会被去掉。这些锁必须在实例间进行维护,而全局队列服务必须确保请求访问相同对象的多个实例间不会出现死锁。LMON、LCK 和 LMD 进程联合工作来实现全局队列服务的功能。GES 是除了数据块本身的维护和管理(由 GCS 完成)之外,在 RAC 环境中调节节点间其他资源的重要服务。
LMSn:Lock Monitor Services也称作GCS(Global Cache Services)processes
LMS进程主要用来管理集群内数据库的访问,并在不同实例的buffer cache中传输块镜像,当在某个数据块上
发生一致性读时,LMS负责回滚该数据块,并将它copy到请求的实例上 每个RAC节点至少有2个LMS进程
全局缓存服务(GCS):要和 Cache Fusion 结合在一起来理解,全局缓存要涉及到数据块。全局缓存服务负责维护该全局缓冲存储区内的缓存一致性,确保一个实例在任何时刻想修改一个数据块时,都可获得一个全局锁资源,从而避免另一个实例同时修改该块的可能性。进行修改的实例将拥有块的当前版本(包括已提交的和未提交的事物)以及块的前象(post image)。如果另一个实例也请求该块,那么全局缓存服务要负责跟踪拥有该块的实例、拥有块的版本是什么,以及块处于何种模式。LMS 进程是全局缓存服务的关键组成部分。
DIAG:Diagnostic Deamon
oracle10g新的后台进程 例行对实例的健康情况进行监控,同时也监控实例是否挂起或者出现死锁 收集实例和进程出错时的关键诊断信息 这个进程会更新alert日志文件,写入一些重要告警信息
二、RAC服务进程
CRS-集群资源服务(cluster ready services)
管理集群内高可用操作的基本程序 CRS管理的任何事务被称之为资源 数据库、实例、监听、虚拟IP、应用进程等等 CRS是跟据存储于OCR中的资源配置信息来管理这些资源 当一资源的状态改变时,CRS进程生成一个事件,操作包括启动、关闭、监控及故障切换,该进程由 root 用户管理和启动,CRSD如果有故障会导致系统重启
CSS-集群同步服务(Cluster Synchronization Service)
管理集群节点的成员资格 控制哪 个结点为集群的成员、节点在加入或离开集群时通知集群成员来控制集群配置信息,此进程发生故障导致集群重启,提供心跳机制监控集群状态(DISK HEARTBEAT 和 NETWORK HEARBEAT),该进程由 oracle 用户运行管理
EVMD事件管理服务(Event Management)
事件管理守护进程 发布CRS创建事件的后台进程
ONS-事件的发布及订阅服务(Oracle Notification Service)
通信的快速应用通知事件的发布及订阅服务
OCR- Oracle Cluster Register
集群注册文件,记录每个节点的相关信息 保存RAC集群的各种资源信息 类似于windows注册表 存储于共享磁盘上,所有实例共享 默认有2个互备磁盘
Voting Disk 表决磁盘
仲裁机制用于仲裁多个节点向共享节点财时写的行为,避免发生冲突 存储于共享磁盘上,所有实例共享 用于确定各个实例的关系 当有节点失效时,通过voting disk来决定驱逐哪个实例 默认有3个互备磁盘
OPROCD(Process Monitor Daemon)检测 CPU hang(非 Linux 平台使用),集群进程管理 —Process monitor for the cluster. 用于保护共享数据 IO fencing
根据http://blog.sina.com.cn/s/blog_61cd89f60102ef28.html进行整理
[RAC] oracle rac 后台进程的更多相关文章
-
[Oracle][RAC]Oracle RAC环境里打OCW上的个别Patch,然后Rollback,发现OCW也被Rollback掉了
对于Oracle RAC来说,存在着DB层面的Patch,也存在着GI层面的Patch. 本文介绍的是,GI层面,打Patch----> rollback 的动作之后,原来的OCW被Rollba ...
-
Oracle RAC 环境下的 v$log v$logfile
通常情况下,在Oracle RAC 环境中,v$视图可查询到你所连接实例的相关信息,而gv$视图则包含所有实例的信息.然而在RAC环境中,当我们查询v$log视图时说按照常理的话,v$log视图应当看 ...
-
oracle rac安装
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4681351&uid=29655480 参考 1.百度文库中的收藏 2. ...
-
Oracle rac集群环境中的特殊问题
备注:本文摘抄于张晓明<大话Oracle RAC:集群 高可用性 备份与恢复> 因为集群环境需要多个计算机协同工作,要达到理想状态,必须要考虑在集群环境下面临的新挑战. 1.并发控制 在集 ...
-
oracle rac理解和用途扩展
Oracle RAC的优势在于利用多个节点(数据库实例)组成一个数据库,这样在保证了数据库高可用性的情况下更充分的利用了多个主机的性能,而且可以通过增加节点进行性能的扩展.实现Oracle RAC需要 ...
-
ORACLE RAC集群的体系结构
RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库.无论与普通的集群相比,还是与普通的Oracle数据库相比,RAC都有一些独特之处. R ...
-
Oracle RAC 并发与架构
10g RAC进程总概 一. RAC 并发 RAC 的本质是一个数据库,运行在多台计算机上的数据库,它的主要任务是数据库就是事务处理,它通过 Distributed Lock Management(D ...
-
Oracle RAC LoadBalance
LoadBalance 就是把负载平均的分配到集群中的各个节点,从而提高整体的吞吐能力. Oracle 10g RAC 提供了两种不同的方法来分散负载: 通过Connection Balancing, ...
-
oracle rac 学习(转载)
一. RAC 并发 RAC 的本质是一个数据库,运行在多台计算机上的数据库,它的主要任务是数据库就是事务处理,它通过 Distributed Lock Management(DLM:分布式锁管理器) ...
随机推荐
-
Windows Phone 8.1又有什么新花样
今年微软新任CEO提出了“Mobile First and Cloud First”的发展战略,随着微软Mobile First战略的实行,开发者是时候重视Windows Phone了.你可能不相信, ...
-
JS 模块化和打包方案收集
1.这里想讨论的是拆分规则,不是在问哪个工具怎么使用.2.这里没有在想找正确答案,因为感觉这个问题要结合具体业务场景. 随着项目开发越来越大,一开始代码全打包到一个文件的方式,让文件越来越大,接下来要 ...
-
servlet+jdbc+javabean其实跟ssh差不多
我给的这个架构可以代替ssh的架构进行项目的开发 common中放的是一些公用类 dao中放的是一些对数据的处理 entity其实也就是javabean service中放的是一些抽象类,简单来说抽象 ...
-
PHP反射ReflectionClass、ReflectionMethod 入门教程
PHP反射ReflectionClass.ReflectionMethod 入门教程 作者:SNSGOU 发布于:2014-03-16 16:44:00 分类:PHP 浏览(6145) PHP5 ...
-
windows c++ 程序移植到Linux的一些要点
这段时间得到一份源码,是Windows下的,调试了一把,可以正常运行,可是没有Linux版本,而实际的应用场景是要在Linux服务器上面运行 所以涉及到Windows下c++程序的移植,有同事竭力推荐 ...
-
命令行获取zabbix最新的issues - jq 解释json
0.安装jq wget -O jq https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 chmod +x ./jq c ...
-
ubuntu14.04 网络配置
流程分析: 在Ubuntu系统网络设备启动的流程中,会依赖/etc/network/interface的配置文件初始化网络接口,所以直接在/etc/network/interface之中配置好对应的d ...
-
Linux 进程一直占用单核CPU分析
pidstat 1信息
-
Morris
Morris /*Morris遍历树: *一:如果一个结点有左子树会到达此节点两次(第二次到达结点的时候左子树的所有结点都遍历完成),第一次遍历左子树最后 * 节点为nullptr,第二次遍历指向他自 ...
-
JS post 数组道后台
$("#aSave").click(function () { if ($("#TaskName").val() == "") { aler ...