1.10g版本
对于10gR2版本的集群,资源管理的工作是由 CRS(Cluster Ready Service)
组件来实现的,也就是说由crsd 守护进程负责管理资源,包括资源的启动,
停止,监控等。所谓资源,就是集群管理软件所需要管理的应用程序实体。
通过 crs_stat -t 查看资源列表。
CRSD 管理的资源如下:
VIP资源
ONS 资源
GSD 资源
ASM 资源
监听程序资源
数据库资源
数据库实例资源
数据库服务资源
CRSD 通过 OCR 定义资源,当 crsd.bin 守护进程启动时,通过读取 OCR 中的信息来
获得资源定义。而当资源属性发生改变时,crsd.bin 守护进程也会修改OCR中的信息。
CRSD 通过调用racg 模块来实现对资源的各种动作。
2.11gr2 版本
从版本 11gr2版本开始,ohasd 变成了集群启动的唯一始点,而所有其他守护进程和
集群管理的资源统统被定义为资源。cssd 守护进程就以初始化资源 ora.cssd的形式存在。
而ohasd 守护进程负责管理集群所有的守护进程对应的资源。同时,集群管理软件GI 不再
使用racg模块来管理资源,而是用代理agent统一实现对所有资源的管理。
(1)OLR
OLR 是保存在本地的集群注册表,也就是说OLR 是在每个节点本地的,而且其中的信息
大部分是针对每个节点的。OLR 的主要作用就是为ohasd 守护进程提供集群的配置
信息和初始化资源的定义信息。当集群启动时 ohasd 会从 /etc/oracle/olr.loc
文件中读取OLR的位置。
可以通过 ocrdump -local 产生一个OLR 的转储文件。
OLR 的结构沿用了和OCR 相同的树形结构,而且其中的信息组织形式和OCR也是相同的。
OLR 不会被自动备份,如果在集群的一些配置信息发生改变后,需要使用下面的命令
手动进行备份:
./ocrconfig -local -manualbackup
当OLR 丢失后,可以使用 ./ocrconfig -local -restore .../olr.olr
所有适用于OCR的命令同样适用于OLR,但是需要增加 -local 选项。
(2)代理进程
随着Oracle数据库和集群产品的发展,集群管理软件需要管理越来越多的资源,
同时资源的复杂程度也越来越高。原有的10g版本的集群管理方式已经无法
完成越来越多,越来越复杂的资源管理任务。Oracle11gr2版本的集群引入了
一个全新的资源管理框架--代理进程,使得资源管理变得更加健壮和高效。
3.代理进程
支持的代理进程包括如下几种
oraagent :这个代理进程会以Oracle 或者 grid 用户启动,负责管理的用户为
Oracle或grid资源。
orarootagent:这个代理进程以root用户启动,负责管理的用户为root的资源。
cssdagent:这个代理进程负责启动 ocssd.bin 守护进程,之后负责监控Ocssd.bin
守护进程。
cssdmonitor:这个代理进程和 cssdagent 代理进程基本一样,但是它只负责监控
ocssd.bin 守护进程。
代理进程可以由 OHASD 和CRSD 守护进程启动,其他的集群守护进程不能启动代理
进程。
ohasd.bin 守护进程会启动4个代理进程:
oraagent_grid
orarootagent_root
cssdagent_root
cssdmonitor
代理进程管理的资源。
oraagent_grid: grid资源:ora.gpicd
oraagent_grid: grid资源:ora.gpnpd
oraagent_grid: grid资源:ora.mdnsd
oraagent_grid:grid资源:ora.evmd
oraagent_grid:grid资源:ora.asm
cssdagent: root资源:ora.cssd
cssdmonitor:root资源:ora.cssdmonitor
orarootagent_root:root资源:ora.diskmon
orarootagent_root:root资源:ora.ctssd
orarootagent_root:root资源:ora.crsd
orarootagent_root:root资源:ora.driver.acfs
orarootagent_root:root资源:ora.cluster_interconnect.haip
orarootagent_root:root资源:ora.crs
ora.gipcd,ora.gpnpd,ora.mdnsd 会议守护进程的形式存在,他们负责完成集群
在bootstrap阶段的工作。
ora.ctssd 会以守护进程形式存在,它负责集群的时间管理。
ora.cssd,ora.cssdmonitor 会以守护进程的形式存在,其中 ocssd.bin 守护进程负责
集群的构建,并维护集群的一致性,而 cssdmonitor 负责监控 ocssd.bin 守护进程
的状态。
ora.crsd 以 crsd.bin 守护进程的形式存在,这个守护进程负责管理集群的其他资源。
ora.evmd 负责管理集群事件的发布,以 evmd.bin 守护进程的形式存在。
ora.asm 这个资源负责管理ASM实例,或者说它负责在集群启动时启动 ASM实例。
ora.cluster_interconnect.haip 这个资源负责管理集群HAIP资源。
ora.crf 负责管理11gr2版本集群管理软件的新特性CHM(Cluster Health Monitor);