Clusterware由若干进程组成,其中最重要的是CRSD,CSSD,EVMD

 
在Clusterware安装的最后阶段,会要求在每个节点执行root.sh脚本,这个脚本实际的作用就是在/etc/inittab文件最后添加3行
 
hi:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 < /dev/null
hi:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 < /dev/null
hi:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 < /dev/null
 
如果EVMD和CRSD出现异常,系统或自动重启这两个进程,如果CSSD进程异常,系统会立即重启
 
------------------------------------------------------------------------------------------------------
 
1、OCSSD
     OCSSD(cluster synchronization service集群同步服务)这个进程是clusterware最关键的进程,如果这个进程异常,会导致系统重启,CSS通过多种心跳机制实时监控集群健康状态,提供脑裂保护等基础集群服务功能。
 
     CSS服务有两种心跳:
 
          network heartbeat:通过私有网络
          disk heartbeat     :通过voting disk‘
     
     这两个心跳都有最大时延,对于disk heartbeat,这个延时叫做IOT(I/O TIMEout),对于network heartbeat 这个延时叫做MC(MISCOUNT),都是以秒为单位,默认IOT大于MC,这两个参数由oracle自动判定,不需要调整。
 
     可以通过下面命令查看参数设置:
 
     crsctl get css disktimeout
 
     crsctl get css misscount
 
TIP:
     除了clusterware 需要这个进程,在单节点的ASM环境也需要这个进程,这个进程用于支持ASM 实例和database实例之间的通信。但是如果在已经使用了ASM的节点上安装RAC,会遇到一个问题,因为RAC要求节点只有一个OCSSD进程,并且应该是运行在$CRS_HOME目录下,这时就需要先停止ASM,并通过$ORACLE_HOME/bin/localconfig.sh delete删除 之前的inittab条目。之前安装ASM时也曾经使用这个脚本来启动OCSSD,那个命令式$ORACLE_HOME/bin/localconfig.sh add.
 
 
------------------------------------------------------------------------------------------------------
 
 
2、CRSD
 
    CRSD是实现高可用的主要进程,它所提供的服务叫做CRS(cluster ready service)。
 
     oracle clusterware 必须要监控资源运行异常,并进行干预,包括关闭,重启或者转移服务等,CRSD进程提供的就是这些服务。
 
     默认情况下,CRS会自动尝试重启资源5次,如果还失败则放弃
 
 
CRS监管的软件分为两组
 
nodeapps:【表示这些资源每个节点只需要一个就够了,比如每个节点只需要一个listener】
 

GSD(GLOBAL SERVICE DAEMON)

 
ONS(ORACLE NOTIFICATION SERVICE DAEMON)
 
LISTENER
 
database-related-resource:【这些资源与数据库相关,不受节点限制,如一个节点可以有多个instance,每个instance可以有多个service】
 
VIP
 
DATABASE
 
INSTANCE
 
SERVICE
 
 
GSD、ONS、VIP是在OCR的安装过程中自动创建并注册
 
listener、database、instance、service可以在安装过程中自动创建,也可以 在安装完成后通过DBCA NETCA SRVCTL工具创建并注册
 
这些注册到CRS resource的对象是以元数据(metadata)的形式被记录在OCR磁盘上,这些元数据包括这些对象的名称、如何启动、停止、如何检查健康状况等配置信息。
 
 
------------------------------------------------------------------------------------------------------
 
 
3、EVMD
 
     这个进程负责发布CRS产生的各种事件(Event),这些event可以通过俩种方式发布给客户----ONS和callout script,用户可以自定义回调脚本,放在特定目录下,这样当某些事件发生时,EVMD会自动扫描改目录,并调用脚本,这个调用由racgevt进程来完成。
 
     EVMD进程出来发布事件之外,还是CRSD和CSSD两个进程之间通信的桥梁。
 
 
------------------------------------------------------------------------------------------------------
 
 
4、RACGIMON
 
     这个进程负责检查数据库健康状态,负责service的启动,停止,故障转移(failover),这个进程会建立到数据库的持久连接,定期检查SGA中的特定信息,该信息由PMON进程定期更新。
 
 
------------------------------------------------------------------------------------------------------
 
 
5、OPROCD
 
     这个进程也叫做 Process monitor daemon 。这个进程用来检测节点的processor hang(CPU 挂起),如果调度时间超过1.5秒,就会认为CPU工作异常,会重启节点,也就是说这个进程提供的是"I O隔离"功能,
 
     在非linux下使用会看到这个进程,但在linux 下,是利用hangcheck-timer模块来实现"I O"隔离功能。
 
 
 
 
 
 
 
 
 
 
 
 

Clusterware后台进程的更多相关文章

  1. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)

    缓存融合技术和主要后台进程(四) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

  2. RAC1——Clusterware概念简介1

    一 集群环境下的一些特殊问题 1.1 并发控制 在集群环境中, 关键数据通常是共享存放的,比如放在共享磁盘上. 而各个节点的对数据有相同的访问权限, 这时就必须有某种机制能够控制节点对数据的访问. O ...

  3. 转载:【Oracle 集群】RAC知识图文详细教程(四)--缓存融合技术和主要后台进程

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  4. 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)

    原文地址:http://www.cnblogs.com/baiboy/p/orc4.html   阅读目录 目录 Cache Fusion 原理 什么是 Cache Fusion? 什么是高可用 FA ...

  5. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

  6. RAC 相关概念解释

    1.1 并发控制 在集群环境中, 关键数据通常是共享存放的,比如放在共享磁盘上. 而各个节点的对数据有相同的访问权限, 这时就必须有某种机制能够控制节点对数据的访问. Oracle RAC 是利用DL ...

  7. RAC 的一些概念性和原理性的知识(转)

    一 集群环境下的一些特殊问题 1.1 并发控制 在集群环境中, 关键数据通常是共享存放的,比如放在共享磁盘上. 而各个节点的对数据有相同的访问权限, 这时就必须有某种机制能够控制节点对数据的访问. O ...

  8. 【RAC】RAC相关基础知识

    [RAC]RAC相关基础知识 1.CRS简介    从Oracle 10G开始,oracle引进一套完整的集群管理解决方案—-Cluster-Ready Services,它包括集群连通性.消息和锁. ...

  9. ORACLE11G R2 RAC的进程启动流程

    简要说明ORACLE11GR2 RAC的进程启动流程: 1.启动流程概览图: 二.RAC启动流程的梳理: 第一层:OHASD 启动:(OHASD派生) 1.CSSDAGENT负责启动CSSD的AGEN ...

随机推荐

  1. ZOJ 1610 Count the Colors (线段树区间更新)

    题目链接 题意 : 一根木棍,长8000,然后分别在不同的区间涂上不同的颜色,问你最后能够看到多少颜色,然后每个颜色有多少段,颜色大小从头到尾输出. 思路 :线段树区间更新一下,然后标记一下,最后从头 ...

  2. 标准管道(popen)

    NAME popen, pclose - pipe stream to or from a process SYNOPSIS #include <stdio.h> FILE *popen( ...

  3. 【poj2891-Strange Way to Express Integers】拓展欧几里得-同余方程组

    http://poj.org/problem?id=2891 题意:与中国剩余定理不同,p%ai=bi,此处的ai(i=1 2 3 ……)是不一定互质的,所以要用到的是同余方程组,在网上看到有人称为拓 ...

  4. 2016CVTE编程题:兔子藏洞

    兔子藏洞 题目描述 一只兔子藏身于20个圆形排列的洞中(洞从1开始编号),一只狼从x号洞开始找,下次隔一个洞找(及在x+2号洞找),在下次个两个洞找(及在x+5号洞找),以此类推...它找了n次仍然没 ...

  5. ios开发与安卓开源项目及库

    自己总结的iOS.mac开源项目及库 https://github.com/Tim9Liu9/TimLiu-iOS 自己总结的Android开源项目及库 https://github.com/Tim9 ...

  6. JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-005控制类型映射(Nationalized、@LOB、@org.hibernate.annotations.Type)

    一.简介 1. 2. 3. 4. to override this default mapping. The JPA specification has a convenient shortcut a ...

  7. JavaPersistenceWithHibernate第二版笔记Getting started with ORM-001用JPA和Hibernate实现HellowWorld(JTA、Bitronix)

    一.结构 二.model层 1. package org.jpwh.model.helloworld; import javax.persistence.Entity; import javax.pe ...

  8. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

  9. Python得到前面12个月的数据,Python得到现在时间 前一年的数据,

    #Python 实现得到现在时间12个月前的每个月 # 假设现在的时间是2016年9月25日 #得到现在的时间 得到now等于2016年9月25日 now = datetime.datetime.no ...

  10. git(icode)分支及发布管理方式

    如果git(icode)不加管理,可能出现枝节蔓生.四处开放的版本库.到处都是分支,完全看不出主干发展的脉络,造成下图的局面: 为了降低合并和版本管理的成本,团队引入一种值得借鉴的管理方式(link) ...