简答题 12.  集群(Cluster)特有的后台进程有哪些?
【正确答案】集群由若干进程组成,其中,最重要的几个进程包括OCSSD、CRSD、EVMD等。在安装集群软件的最后阶段,会要求在每个节点执行root.sh脚本,这个脚本会在/etc/inittab文件的最后把这3个进程加入启动项(从Oracle 11g开始变为了ohasd这一个进程),这样以后每次系统启动时,集群也会自动启动。如果EVMD和CRSD两个进程出现异常,那么系统会自动重启这两个进程。如果是OCSSD进程出现异常,那么系统会立即重启。
   (1)OCSSD (ocssd.bin) OCSSD (Oracle Cluster Synchronization Service Daemon)进程是集群最关键的进程,它提供CSS服务。如果这个进程出现异常,那么会导致系统重启。CSS服务通过多种心跳机制实时监控集群状态,提供脑裂保护等基础集群服务功能。需要注意的是,除了集群需要这个进程外,在单实例环境中,如果使用了ASM(Auto Storage Management,自动存储管理),那么也需要这个进程。这个进程用于支持ASM实例和RDBMS实例之间的通信。
   (2)CRSD (crsd.bin) CRSD (Cluster Ready Service Daemon)是实现“高可用性(HA)”的主要进程,它提供的服务称为CRS服务。Oracle集群是位于集群层的组件,它要为应用层资源(CRS Resource)提供“高可用性服务”,所以,Oracle集群必须监控这些资源,并在这些资源运行异常时进行干预,包括关闭、重启进程或者转移服务。CRSD进程提供的就是这些服务。所有需要高可用性的组件,都会在安装配置的时候,以CRS Resource的形式登记到OCR(Oracle Cluster Registry)中,而CRSD进程就是根据OCR中的内容决定监控哪些进程,如何监控,出现问题时又如何解决。也就是说,CRSD进程负责监控CRS Resource的运行状态,并要启动、停止、监控、容错(Failover)这些资源。默认情况下,CRS会自动尝试重启资源5次,若还是失败,则放弃尝试。
   CRS Resource包括GSD (Global Serveice Daemon)、ONS(Oracle Notification Service)、VIP、Database、Instance和Service。这些资源被分成2类:GSD、ONS、VIP和Listener属于Nodeapps类,Database、Instance和Service属于Database-Related Resource类。Nodeapps是指每个节点只需要一个就够了,例如每个节点只有一个Listener,而Database-Related Resource是指这些资源和数据库有关,不受节点的限制,例如一个节点可以有多个实例,每个实例可以有多个Service。GSD、ONS和VIP这3个服务是在安装Clusterware的最后,执行VIPCA时创建并登记到OCR中的。Database、Listener、Instance和Service是在各自的配置过程中自动或者手动登记到OCR中的。
   (3)EVMD (evmd.bin) EVMD (Event Manager Daemon)这个进程负责发布CRS产生的各种事件(Event)。这些事件可以通过两种方式发布给客户:ONS和Callout Script。EVMD进程除了发布复杂事件之外,它还是CRSD和CSSD两个进程之间的桥梁。CRS和CSS两个服务之间的通信就是通过EVMD进程完成的。
   除了以上3个进程外,还有一些其他的进程参考下表。
   
其他的进程
   
【答案解析】