oracle clusterware 和 oracle rac 的主要部件

    技术2022-05-20  50

    oracle clusterware 和 oracle rac 的主要部件

    现在看相关的RAC结构的文章还不太理解。 现在看这个就很清楚其中的意思了。 oracle clusterware 主要有以下主要部件: CSS: 集群同步服务 主要管理整个集群内各个节点间的情况,包括节点的添加和减少。与之对应的是ocssd 进程,如果改进程出现故障将会导致节点重启。如果使用了第三方的clusterware,css 通过第三方clusterware 管理节点间的信息。 关于是否使用第三方clusterware,css 的不同在init.crsd 中有如下定义: # FAST_REBOOT - take out the machine now. We are concerned about # data integrity since the other node has evicted us. # SLOW_REBOOT - We can rely on vendor clusterware to delay sending # the reconfig to the other node due to its IO fencing # guarantees. So trigger its diagnostic reboot. 如果使用了第三方的clusterware,是否reboot的决定将交给它去决定。 CRS: 集群就绪服务 主要管理注册到cluster 中的资源(包括vip,instance,db,listener,service等),它会自动重启失败的资源,一般会自动重启5次,如果依然不能重启成功,将放弃重启。 EVM: 事件管理器 主要发布一些crs 产生的事件。 ONS: Oracle Notification Service 主要是接受evmd 和 racgimon 传来的events,并把它发布给local listener 和 application。 主要有两个目的: a) 使得应用知道集群的状态的变化,并采取相应的措施。如Fast Connection Failover. b) 用于实现Load balancing. rdbms 的mmon 进程每隔30s 对该节点的wordload 做一次记录,然后通过racgimon 和 ONS 传递给local listener 和 application。 OPROCD: 该进程时刻在内存中运行,监控cluster。如果该进程出现故障,将会重启改节点。 RAC 的主要部件: 相对于单节点的oracle database,rac database 主要是引入了cache fusion 机制,从而减少了磁盘io的次数。在了解rac特有的一些进程之前,先了解一些概念: GRD:Global Resource Directory 存放在本地内存中,记录共享资源当前的状态。一般一个GRD包含如下内容:dba, location, mode(N, S, X),Role (local,global), PI,XI, scn 等。在一个远程节点提出访问一个数据块的请求之后,要通过访问grd来查看当前模式是否允许远程节点的相应的操作。 Resources Master: 在每次访问一个数据块的时候,都要先访问一次Resources Master(对于每个数据块,oracle 都会为之分配一个instance,作为这个数据块的RM), 然后,Resources Master 通知ges,ges将请求信息发送给gcs,然后访问grd,一切通过之后gcs从该块的holder instance 开始相应远程节点的请求。 在一下情况,RM的位置可能发生改变: a) 当远程节点访问这个RM的次数大于RM所在节点的次数时,RM将迁移至远程节点 b) 当RM所在节点failed以后,本节点的RM要重新分配到其他存活的节点 c)当添加新的节点后,RM也要重新分配。 RM 的重新分配由进程LMON 负责。 RAC环境特有的若干进程: LMS—Global Cache Service Process 传输一个本地的buffer cache 到远程的buffer cache,对于要求一致性读的请求,LMS会自动rollback一个数据块来相应一致性请求。根据LMS任务量的多少,每个实例改进程的数量可以从1增加到9. LMD—Global Enqueue Service Daemon 负责管理远程节点向Resources Master 发出的请求。它发送请求信息到request enqueue, 然后有gcs 来处理enqueue 上面的请求。 LMON—Global Enqueue Service Monitor 负责RM的重新分配 LCK0—Instance Enqueue Process 主要负责那些non-cache fusion 的请求,如library cache 和 row cache 等。 提供Oracle管理/故障处理/优化/安装/RAC/备份恢复技术服务,提供专业的Oracle培训和咨询服务。 邮件: inthirties@gmail.com MSN: inthirties@hotmail.com QQ: inthirties@qq.com 专业论坛 http://www.inthirties.com 技术博客 http://blog.csdn.net/inthirties 个人站点 http://blog.inthirties.com

    最新回复(0)