前言
對于Oracle集群,有關diagwait的解釋可以很容易在網(wǎng)上搜到:
該問題只會出現(xiàn)在ORACLE 11.2 以前版本中,在 11G R2版本中,diagwait的值默認配置為13。
而針對11.2以前的版本,需要手工將diagwait修改為13,以推遲重啟的時間便于將緩存中的日志信息有足夠的時間寫入到磁盤文件中,以及減少因為與OS交互允許時間太短而造成的重啟可能。
diagwait算是一個小知識點,但具有普遍性。因為現(xiàn)實中很多客戶生產(chǎn)數(shù)據(jù)庫版本低于11.2,同時diagwait沒有正確設置(默認配置不合理),輕則導致一些節(jié)點驅逐的案例缺少相關日志無法準確分析原因,重則由于oporcd默認的1.5s(1000ms+500ms)過短過于敏感,比如瞬時壓力過大都很容易導致節(jié)點主機重啟,這顯然不是我們所期望的。
diagwait設置方法(使用root用戶):
crsctl set css diagwait 13
diagwait查詢方法:
crsctl get css diagwait
ps -ef|grep oproc
需要重啟集群才能生效修改。
下面在測試環(huán)境驗證下這個過程:
[oracle@rac1-server ~]$ ps -ef|grep oproc
oracle 12527 6205 0 11:44 pts/4 00:00:00 grep oproc
root 21426 20189 0 Jan24 ? 00:00:00 /bin/sh /etc/init.d/init.cssd oprocd
root 21799 21426 0 Jan24 ? 00:00:15 /s01/oracle/product/10.2.0/crs_1/bin/oprocd.bin run -t 1000 -m 500 -f
[oracle@rac1-server ~]$ crsctl get css diagwait
Configuration parameter diagwait is not defined.
[root@rac1-server ~]# /s01/oracle/product/10.2.0/crs_1/bin/crsctl set css diagwait 13
Configuration parameter diagwait is now set to 13.
[root@rac1-server ~]# /s01/oracle/product/10.2.0/crs_1/bin/crsctl get css diagwait
13[oracle@rac1-server ~]$ ps -ef|grep oproc
oracle 15375 14082 0 12:56 pts/4 00:00:00 grep oproc
root 21426 20189 0 Jan24 ? 00:00:00 /bin/sh /etc/init.d/init.cssd oprocd
root 21799 21426 0 Jan24 ? 00:00:15 /s01/oracle/product/10.2.0/crs_1/bin/oprocd.bin run -t 1000 -m 500 -f
此時可以看到oprocd的設置并未修改。
--需要重啟crs(所有節(jié)點都需要重啟):
[root@rac1-server ~]# /s01/oracle/product/10.2.0/crs_1/bin/crsctl stop crs
[root@rac1-server ~]# /s01/oracle/product/10.2.0/crs_1/bin/crsctl start crs
--再次查看oprocd進程,看到-m后面的值已經(jīng)成為由默認的500改為10000,單位是ms:
[oracle@rac1-server ~]$ ps -ef|grep oprocd
root 17520 16659 0 12:58 ? 00:00:00 /bin/sh /etc/init.d/init.cssd oprocd
root 17916 17520 0 12:58 ? 00:00:00 /s01/oracle/product/10.2.0/crs_1/bin/oprocd.bin run -t 1000 -m 10000 -hsi 5:10:50:75:90 -f
oracle 18504 16764 0 12:59 pts/4 00:00:00 grep oprocd
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。