Oracle集群 diagwait的问题记录
前言
对于Oracle集群,有关diagwait的解释可以很容易在网上搜到:
该问题只会出现在ORACLE11.2以前版本中,在11GR2版本中,diagwait的值默认配置为13。
而针对11.2以前的版本,需要手工将diagwait修改为13,以推迟重启的时间便于将缓存中的日志信息有足够的时间写入到磁盘文件中,以及减少因为与OS交互允许时间太短而造成的重启可能。
diagwait算是一个小知识点,但具有普遍性。因为现实中很多客户生产数据库版本低于11.2,同时diagwait没有正确设置(默认配置不合理),轻则导致一些节点驱逐的案例缺少相关日志无法准确分析原因,重则由于oporcd默认的1.5s(1000ms+500ms)过短过于敏感,比如瞬时压力过大都很容易导致节点主机重启,这显然不是我们所期望的。
diagwait设置方法(使用root用户):
crsctlsetcssdiagwait13
diagwait查询方法:
crsctlgetcssdiagwait ps-ef|grepoproc
需要重启集群才能生效修改。
下面在测试环境验证下这个过程:
[oracle@rac1-server~]$ps-ef|grepoproc oracle125276205011:44pts/400:00:00grepoproc root21426201890Jan24?00:00:00/bin/sh/etc/init.d/init.cssdoprocd root21799214260Jan24?00:00:15/s01/oracle/product/10.2.0/crs_1/bin/oprocd.binrun-t1000-m500-f [oracle@rac1-server~]$crsctlgetcssdiagwait Configurationparameterdiagwaitisnotdefined. [root@rac1-server~]#/s01/oracle/product/10.2.0/crs_1/bin/crsctlsetcssdiagwait13 Configurationparameterdiagwaitisnowsetto13. [root@rac1-server~]#/s01/oracle/product/10.2.0/crs_1/bin/crsctlgetcssdiagwait 13[oracle@rac1-server~]$ps-ef|grepoproc oracle1537514082012:56pts/400:00:00grepoproc root21426201890Jan24?00:00:00/bin/sh/etc/init.d/init.cssdoprocd root21799214260Jan24?00:00:15/s01/oracle/product/10.2.0/crs_1/bin/oprocd.binrun-t1000-m500-f 此时可以看到oprocd的设置并未修改。 --需要重启crs(所有节点都需要重启): [root@rac1-server~]#/s01/oracle/product/10.2.0/crs_1/bin/crsctlstopcrs [root@rac1-server~]#/s01/oracle/product/10.2.0/crs_1/bin/crsctlstartcrs --再次查看oprocd进程,看到-m后面的值已经成为由默认的500改为10000,单位是ms: [oracle@rac1-server~]$ps-ef|grepoprocd root1752016659012:58?00:00:00/bin/sh/etc/init.d/init.cssdoprocd root1791617520012:58?00:00:00/s01/oracle/product/10.2.0/crs_1/bin/oprocd.binrun-t1000-m10000-hsi5:10:50:75:90-f oracle1850416764012:59pts/400:00:00grepoprocd
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。