10G 11GR1 通过设置DIAGWAIT值使得RAC中节点被驱逐的时候能够记录更多的诊断日志...

通过设置DIAGWAIT值使得RAC中节点被驱逐的时候能够记录更多的诊断日志 

很多时候RAC中的节点宕机的时候,因为CPU或者磁盘等资源的繁忙或者其他问题,导致缓冲区中的日志还没有被写入磁盘上的日志中,节点就已经被重启,给故障诊断带来一定的麻烦,通过适当设置DIAGWAIT的值,使得节点被驱逐到真正OS REBOOT之间的时间适当延长,则可以记录更多有帮助的日志信息。具体操作过程如下(摘自METALINK:559365.1)


11gR2之前版本的集群,将Diagwait设置为13。


从本质上讲, diagwait值在RAC环境中控制着两件关键的事情:

  • 默认情况下,集群守护进程OPROCD的超时值为1秒和0.5秒的时间差,这意味着,如果OPROCD不能在1.5秒内返回,系统会被重启。设置diagwait为推荐值13会将OPROCD的默认超时时差增加到10秒(diagwait - CSS重启时间[默认为3秒]),从而防止大量由于OPROCD没有在定义的时间内返回而导致的'假'的节点重启。对于繁忙的系统,1.5秒的默认值太小了。长期推荐的办法是将OPROCD超时提高到一个更为合理的值11秒(1秒休眠时间+10秒时间差)。

  • 当节点驱逐/重启事件发生时,增加diagwait,我们更可能在重新启动之前将日志信息刷新到磁盘,因此,缩短寻找问题根本原因时间。


从11g第2版(11.2.0.1和更高版本)开始,这一变化不再是必要的。然而,对于之前的版本,这个改变必须在一个完整的停机时间进行,而且这个值不能通过补丁修正。因此,必须安排停机时间手动修改。鉴于已知通过设置diagwait解决的问题的数量,申请停机时间来修改它是值得的投入。请注意,因为这个值存储在Oracle集群注册表(OCR),如果您的确需要重建OCR或从一个之前的备份恢复,您可能需要重新设置diagwai。检查当前值可以通过以下简单的命令:

(详见使用 Diagwait 诊断 Oracle Clusterware 节点驱逐的更多信息 (文档 ID 1525761.1)


[@more@]1、停止所有节点的CRS
#crsctl stop crs

2.停止10.2.0.3到11.1.0.6版本的RAC中才引入的OPROCD进程
#/bin/oprocd stop

3、检查是否还有CRS相关的进程在运行
ps -ef |egrep "crsd.bin|ocssd.bin|evmd.bin|oprocd"

4、在任意一个节点使用ROOT用户来设置DIAGWAIT的值(按照ORACLE的推荐,一般设置为13)
#crsctl set css diagwait 13 -force

5、启动所有节点的CRS
#crsctl start crs

6、验证所有的CRS已经正常运行
#crsctl check crs

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29371470/viewspace-1100794/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29371470/viewspace-1100794/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值