可以看到,最初CRS(Cluster Ready Services)名词的起源就是因为10.1中作为集群软件的原因。后来经历了Clusterware,到了11g,终于改成了GI了。
11g新的进程:
后台进程 | 说明 |
Oracle高可用服务 (OHAS) | OHAS是服务器启动后打开的第一个Grid Infrastructure组件。它被配置为以init(1)打开,并负责生成agent进程。 |
Oracle Agent | Grid Infrastructure使用两个oracle代理进程。第一个,概括起来说,负责打开一些需要访问OCR和VOTING文件的资源。它由OHAS创建。 第二个代理进程由CRSD创建,负责打开所有不需要root权限来访问的资源。这个进程以Grid Infrastructure所属用户的权限运行,并且负责在RAC11.1中racg所做的工作。 |
Oracle Root Agent | 和 Oracle 代理进程类似,有两个Root 代理进程被创建。 最初的代理进程由OHAS引发,它为linux系统中需要更高权限的资源提供初始化。创建的主要后台进程是CSSD和CRSD。反过来,CRSD将触发另一个root代理。这个代理将打开需要root权限、主要和网络相关的资源 |
集群就绪服务进程 (CRSD) |
集群软件的后台主要进程,使用oracle集群注册信息来管理集群中的资源 |
集群同步服务进程 (CSSD) |
管理集群的配置和节点成员 |
Oracle进程监控 (OPROCD) |
oprocd在11.1版本中负责 I/O 隔离。它是在10.2.0.4补丁集中为linux系统引入的。在这个补丁集以前,内核hangcheck-timer 模块来做类似的任务。有趣的是,oprocd以前常被用在非linux平台中。Grid Infrastructure用cssdagent进程来替换了oprocd进程。 |
事件管理器(EVM) | EVM负责发布Grid Infrastructure创建的事件 |
集群时间同步服务(CTSS) | CTSS服务是一个可选项,通过网络时间协定服务器为集群提供时间同步,这个时间同步对RAC很重要。它可以运行在两种模式下:观望或者活动。当NTP被激活的时候,它运行在观察模式,若没有启动NTP,它将根据主节点同步所有节点的时间。 |
Oracle警告服务(ONS) | 负责通过快速应用框架发布事件的主要后台进程。 |
常用的crs命令如下:
$ORA_CRS_HOME/bin/crs_stat –t 此命令主要用来检查crs资源状态(可以用root,grid,oracle用户执行,但是标准应该是用grid用户执行)
ORA_CRS_HOME/bin/crs_start –all 此命令用来启动所有的集群服务,但是启动的前提是资源状态State不能是UNKNOWN。
$ORA_CRS_HOME/bin/crs_start 集群服务名
$ORA_CRS_HOME/bin/crs_stop -all
$ORA_CRS_HOME/bin/crs_stop 集群服务名(集群服务名可以通过$ORA_CRS_HOME/bin/crs_stat得到)
上面的一组crs命令是用来启动关闭crs服务的,下面通过一个真实的环境,具体讲解这些命令的使用。
举例如下:
Oracle RAC在安装完毕后,重启RAC,一些服务不能启动,手动启动也没用。
下面是系统自动启动以后的情况;
其它一些常用命令:
$ORA_CRS_HOME/bin/crsctl check crs 用于检查后台进程状态
$ORA_CRS_HOME/bin/crsctl start resources 启动crs资源
$ORA_CRS_HOME/bin/crsctl start crs 启动crs,需要超级用户操作。
$ORA_CRS_HOME/bin/crsctl stop crs 关闭crs,需要超级用户操作。
$ORA_CRS_HOME/bin/crs_unregister 取消注册crs
$ORA_CRS_HOME/bin/ocrcheck 检查ocr设置信息用ocrcheck
$ORA_CRS_HOME/bin/crsctl query css votedisk 检查表决磁盘信息
举例:
[oracle@rac2 css]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 104344
Used space (kbytes) : 4568
Available space (kbytes) : 99776
ID : 328160432
Device/File Name : /dev/raw/raw4
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw5
Device/File integrity check succeeded
Cluster registry integrity check succeeded
[oracle@rac2 css]$ $ORA_CRS_HOME/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 104344
Used space (kbytes) : 4568
Available space (kbytes) : 99776
ID : 328160432
Device/File Name : /dev/raw/raw4
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw5
Device/File integrity check succeeded
Cluster registry integrity check succeeded
[oracle@rac2 css]$ crsctl query css votedisk
0. 0 /dev/raw/raw6
1. 0 /dev/raw/raw7
2. 0 /dev/raw/raw8
located 3 votedisk(s).
注意:
执行crsctl命令的可以是root用户,也可以是oracle用户,如果是root用户要指定绝对路径,但是对于crsctl start crs和crsctl stop crs必须是root用户来执行。
crs主要进程
(1)crsd
负责管理ha操作
管理crs资源,如linstener,vip,ons,gsn等
由root用户管理、启动
(2)ocssd
管理各节点的关系,用于节点间通信
由oracle用户运行管理
(3)oprocd
集群进程管理 —Processmonitor for the cluster.
仅在没有使用vendor的集群软件状态下运行
(4)evmd
事件检测进程,由oracle用户运行管理
(5)主要log位置
$ORA_CRS_HOME/log/节点主机名/racg
$ORA_CRS_HOME/log/节点主机名/crsd
$ORA_CRS_HOME/crs/init
$ORA_CRS_HOME/css/log
$ORA_CRS_HOME/css/init
$ORA_CRS_HOME/evm/log
$ORA_CRS_HOME/evm/init
$ORA_CRS_HOME/srvm/log