Oracle RAC集群、进程、日志简介(2)

注:除了Clusterware 需要这个进程,在单节点环境中如果使用了ASM,也需要这个进程;这个进程用于支持ASM Instance 和RDBMS Instance之间的通信。 如果在使用了ASM的节点上安装RAC,会遇到一个问题:RAC节点要求只有一个OCSSD进程,并且应该是运行$CRS_HOME目录下的,这时就需要先停止ASM,并通过$ORACLE_HOME/bin/localcfig.Sh delete 删除之前的inittab 条目。 之前安装ASM时,也使用这个脚本来启动OCSSD: $ORACLE_HOME/bin/localconfig.Sh add.

2). CRSD

CRSD是实现"高可用性(HA)"的主要进程,它提供的服务叫作CRS(Cluster Ready Service) 服务。

Oracle Clusterware是位于集群层的组件,它要为应用层资源(CRS Resource) 提供"高可用性服务",所以, Oracle Clusterware 必须监控这些资源,并在这些资源运行异常时进行干预,包括关闭,重启进程或者转移服务。CRSD进程提供的就是这些服务。

所有需要 高可用性 的组件,都会在安装配置的时候,以CRS Resource的形式登记到OCR中,而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 属于Noteapps类

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 这个进程负责发布CRS 产生的各种事件(Event). 这些Event可以通过2种方式发布给客户:ONS 和 Callout Script. 用户可以自定义回调脚本,放在特定的目录下,这样当有某些事件发生时,EVMD会自动扫描该目录,并调用用户的脚本,这种调用是通过racgevt进程来完成的。

EVMD 进程除了复杂发布事件之外,它还是CRSD 和CSSD 两个进程之间的桥梁。 CRS 和CSS 两个服务之前的通信就是通过EVMD 进程完成的。

4). RACGIMON

RACGIMON 这个进程负责检查数据库健康状态,负责Service的启动,停止,故障转移(Failover)。 这个进程会建立到数据库的持久连接,定期检查SGA中的特定信息,该信息由PMON 进程定时更新。

5). OPROCD

OPROCD 这个进程也叫作 Process Monitor Daemon. 如果在非Linux 平台上,并且没有使用第三方的集群软件时,就会看到这个进程。 这个进程用来检查节点的Processor Hang(CPU 挂起), 如果调度时间超过1.5秒, 就会认为CPU 工作异常,会重启节点。 也就是说这个进程提供 "IO 隔离" 的功能。 从其在Windows 平台上的服务名: OraFnceService 也可以看出它的功能。 而在Linux 平台上, 是利用Hangcheck-timer 模块来实现"IO 隔离"的。

Clusterware 的日志

Oracle Clusterware的辅助诊断,要从log 和trace 进行。 而且它的日志体系比较复杂,如下图所示:

Oracle RAC集群、进程、日志简介

alert.log:

$ORA_CRS_HOME/log/hostname/alert.Log, 这是首选的查看文件。

Clusterware后台进程日志:

crsd.Log: $ORA_CRS_HOME/log/hostname/crsd/crsd.Log

ocssd.Log: $ORA_CRS_HOME/log/hostname/cssd/ocsd.Log

evmd.Log: $ORA_CRS_HOME/log/hostname/evmd/evmd.Log

Nodeapp日志位置:

$ORA_CRS_HOME/log/hostname/racg/

这里面放的是nodeapp的日志,包括ONS和VIP,比如:ora.Rac1.ons.Log

CRS日志(Oracle 10g)

Oracle RAC集群、进程、日志简介

CRS日志(Oracle 11gR2)

Oracle RAC集群、进程、日志简介

主机重启查看步骤

主机重启时需要查看的操作系统日志:

Oracle RAC集群、进程、日志简介

CRS日志

双节点的alert日志

数据库的smon,pmon,lmon,lmd,lms,diag等后台进程日志

宕机前后的ash/awr/statspack报告

宕机前后的主机监控数据

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/acc9ce32caa9a6404ac8e55fd86a8fd8.html