oracle rac中的一个节点被踢出时获取更多信息
oracle rac中的一个节点被踢出时获取更多信息
现在越来越多的用户开始使用oracle数据库10g rac做为生产系统,有必要对
oracle 10g cluster组件进行深入的研究。
在以下情况发生时候,oracle的集群软件从集群中踢出一个节点:
第一:节点ping 心跳网卡失败的时候,即私网不通
第二:节点无法连接到voting disk 时候
第三:节点非常忙或hang的时候
在大多数情况下rac的一个节点被踢出后,相关的信息会被写到日志文件中,根据
这些信息去分析节点被踢出的原因,然而在某种意外情况下,这些信息不会写到日
志文件中,这位诊断节点被踢出集群的原因带来困难,下面介绍在意外情况下,去
诊断踢出节点的原因。
节点cpu非常忙,节点被踢出的时候,有可能操作系统没有时间去产生日志和
trace文件。这需要设置diagwait参数让节点重启主机的操作延迟一会,让操作系统
生成日志,这个设置会提供更多的时间去收集信息,不会有其他破坏行为的操作,
在设置完diagwait后,该集群将等待一个额外的20秒。用户在得到诊断信息后,可
以取消设置diagwait。
设置diagwait的步骤:
1.用root用户执行(所有节点)
#crsctl stop crs
#
2.检查crs进程是否还存在
ps -ef|grep "crsd.bin|ocssd.bin|evmd.bin|oprocd
3.在rac集群每个节点上,设置diagwait的参数为20秒,
root用户
#crsctl set css diagwait 20 -force
取消设置diagwait的命令是
#crsctl unset css diagwait
4.下面命令检验diagwait是否成功设置
#crsctl get css diagwait
设置成功后,会返回20。如果没有设置diagwait,会返回下面的信息
"Configuration parameter diagwait is not defined"
6.重启crs(所有节点)
#crsctl start crs