1.Oracle12cR1的集群件及其组件

1.Oracle集群件的存储组件

  Oracle集群件包括它的存储结构和在每个集群节点上运行的一组进程,存储结构由两部分组成:Oracle集群注册表(OCR)和表决磁盘(Voting Disk) 外加两个本地文件-Oracle本地注册表(OLR)和网格即插即用(GPnP)配置文件。

  OCR用于存储集群配置的详细信息。它存储Oracle集群件控制的资源的相关信息。这些资源包括Oracle RAC数据库和实例、监听和虚拟IP(VIP)和本地VIP.

  表决磁盘(VD)记录了集群的成员信息。Oracle集群件使用VD确定哪些节点是集群的成员。每一秒集群节点上的Oracle集群同步服务守护进程(OCSSD)在VD中更新节点的状态。当RAC节点之间的互连心跳网络发生故障时,集群使用VD来确定哪些RAC节点应该留在集群中。

  OCR和VD必须存储在集群中所有服务器都可以访问到的共享存储中。现在在生成上通常会把它们迁移到ASM磁盘组,为了避免单点故障,Oracle建议应该配置多个OCR,最多可以同时有5个OCR。此外,应该至少有3个VD,并始终保持VD的个数为单数,在linux中,/etc/orcle/ocr.loc文件记录了OCR的位置:cat  /etc/oracle/ocr.loc   此外,可以使用./crsctl query css votedisk得到VD的位置。Oracle推荐使用Oracle ASM磁盘组存放OCR和VD。

  Oracle集群件的两个文件:OLR和GPnP。都存储本地文件系统中,放在每个RAC节点的网格主目录中,OLR是OCR的本地版本,它存储了本地节点元数据,由Oracle高可用性服务进程(OHASD)来管理。OLR存储的信息比OCR少,但是OLR可以从本地存储中直接提供元数据,而不需要访问存储在ASM磁盘组中的OCR,每个节点都有自己的OLR配置文件,它的默认路径$GIHOME/cdata/<hostname>.olr,这个路径记录在/etc/oracle/olr.loc文件中,也可以ocrcheck命令得到:$ocrcheck -local -config

  GPnP配置文件记录了很多有关集群的重要信息,比如网络配置文件。当集群添加节点的时候,集群需要使用到GPnP配置文件中的信息。这个文件的默认路径是$GRID_HOME/gpnp/<hostname>/profiles/peer/profile.xml

2.集群件软件堆栈

  从Oracle 11gR2开始,Oracle将Oracle集群件重新设计并分成两个软件堆栈:高可用性服务堆栈和CRS堆栈。每个堆栈由若干个后台进程组成。这两类堆栈的进程实现了集群的功能。

  

2.1.高可用性集群服务堆栈

  高可用性集群服务堆栈是Oracle集群件的底层服务堆栈。这个堆栈基于Oracle高可用性守护(OHAS)进程。该OAHS进程负责启动集群中的所有其他进程。  

  OHAS使用并维护存放在OLR中的信息。高可用性集群服务堆栈包括下面的守护进程和服务。

  GPnP守护进程(GPnPD):这个守护进程访问并维护GPnP配合文件,并确保所有节点都有节点的配置文件。在集群的初始化准备启动的过程中,由于此时ASM并不可用,所以存放在ASM磁盘组中OCR也是不可用的,这时GPnP配置文件就提供了用于启动集群的足够信息。        

  Oracle网格命令服务(GNS):这个进程提供了集群的命令解析。在12CR1版本中,相比较单个集群而言,GNS可用于多个集群

  网格进程间通信(GIPC):这个守护进程支持网格架构使用冗余的互连网络通信。

  另外还有系统监控服务守护进程(osysmond)和集群日志记录其服务进程(ologgerd)

2.2 CRS堆栈

  CRS堆栈是Oracle集群件的上层堆栈,依赖于高可用性集群服务堆栈的支持。CRS堆栈包括下列守护进程和服务。

  CRS:此服务主要负责管理高可用性的操作,CRS的守护进程(CRSD)管理集群资源的启动、停止、监视和故障切换操作。CRS中维护了OCR中配置信息。对于集群中的oracle rac数据库,crs管理着这个数据库的相关资源,包括oracle数据库及其实例,监听,asm实例以及虚拟ip等。在linux中运行此服务的进程是crs.bin,在windowns中是oracleohservice服务。

  CSS:此服务管理和监控集群中节点成员,并在VD中更新节点的状态信息。在Linux中运行此服务的进程是ocssd.bin

  CSS代理:这个进程负责监控、启动和停止CSS服务。在linux中运行此服务的进程是cssdagent

  CSS监视器:当CSS服务出现问题或者CPU饥饿(starvation)  OS挂起,CSS监视进程将和cssdagent进程一起提供I/O保护,通过重新启动的方式保证数据的完整性。

  集群时间同步服务(CTSS):主要处理集群中所有节点之间的时间同步。可以使用操作系统的网络时间协议(NTP)服务来同步时间。如果禁用NTP服务,CTSS将提供时间同步服务。在linux中运行此服务的进程是octssd.bin

  事件管理(EVM):这个后台进程发布事件给集群中的所有成员。在linux中该进程的名称为evmd.bin

  Oracle通知服务(ONS):这是一个发布和订阅服务,负责快速应用通知(FAN)事件的通知

  Oracle ASM:为了Oracle集群件和oracle数据库提供卷管理和共享存储管理的功能。

  集群件代理进程:包括Oracle代理(oraagent)和oracle根代理进程(orarootagent)。其中,oraaent负责管理所有属于oracle用户的ohasd资源,orarootagent负责管理所有属于root用于的ohasd资源。

      

原文地址:https://www.cnblogs.com/zmc60/p/15807134.html