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. Visual Studio 项目中添加include, lib, dll库文件(*.h,*.lib,*.dll)

    应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能和功能的定义.vs2005 c++ 项目设置外部库方法如下: 1. 添加编译所需要(依赖)的 lib 文件     在“项目-&g ...

  2. C# JSON字符串序列化与反序列化

    JSON与c#对象转换http://hi.baidu.com/donick/item/4d741338870c91fe97f88d33 C# JSON字符串序列化与反序列化 – http://www. ...

  3. CS程序,服务器端弹出MessageBox.Show()之类的UI操作???禁止

    服务器端绝对不能用MessageBox.Show之类的UI操作,大家要掌握异常(Exception)的工作机制. 可能你开发调试时貌似可以,因为是以单机版运行.在服务层或者数据访问层MessageBo ...

  4. java 哪些情况下会使对象锁释放

    Java_多线程_锁释放 问:Java多线程运行环境中,在哪些情况下会使对象锁释放?答:由于等待一个锁的线程只有在获得这把锁之后,才能恢复运行,所以让持有锁的线程在不再需要锁的时候及时释放锁是很重要的 ...

  5. eclipse工程设置的问题

  6. ios开发理解nil,Nil, NULL

    nil是一个对象指针为空,Nil是一个类指针为空,NULL是基本数据类型为空.这些可以理解为nil,Nil, NULL的区别吧. iOS剪切板 UIPasteboard *pasteboard = [ ...

  7. 一个n位的数,去掉其中的k位,问怎样去使得留下来的(n-k)位数按原来的前后顺序组成的数最小

    例如 8314925去掉4个数,留下125最小,注意有前后顺序要求,要是没有顺序当然是123. 解决方案 贪心算法,在每次被访问的位置保证有最优解. 思路一 分析:求一共n位,求其中的m位组成的数最小 ...

  8. SQL分组查询group by

    注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里. 1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用 group ...

  9. pycharm最新注册方法 pycharm最新激活方法 2016pycharm最新注册方法

    激活注册码:点击确认就可以了 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaW ...

  10. YTU 2614: A代码完善--系统日期

    2614: A代码完善--系统日期 时间限制: 1 Sec  内存限制: 128 MB 提交: 216  解决: 113 题目描述 注:本题只需要提交填写部分的代码,请按照C++方式提交. 已知某操作 ...