Oracle集群 diagwait的问题记录

所属分类: 数据库 / oracle 阅读数: 1853
收藏 0 赞 0 分享

前言

对于Oracle集群,有关diagwait的解释可以很容易在网上搜到:

该问题只会出现在ORACLE 11.2 以前版本中,在 11G R2版本中,diagwait的值默认配置为13。
而针对11.2以前的版本,需要手工将diagwait修改为13,以推迟重启的时间便于将缓存中的日志信息有足够的时间写入到磁盘文件中,以及减少因为与OS交互允许时间太短而造成的重启可能。

diagwait算是一个小知识点,但具有普遍性。因为现实中很多客户生产数据库版本低于11.2,同时diagwait没有正确设置(默认配置不合理),轻则导致一些节点驱逐的案例缺少相关日志无法准确分析原因,重则由于oporcd默认的1.5s(1000ms+500ms)过短过于敏感,比如瞬时压力过大都很容易导致节点主机重启,这显然不是我们所期望的。

diagwait设置方法(使用root用户):

crsctl set css diagwait 13

diagwait查询方法:

crsctl get css diagwait 
ps -ef|grep oproc

需要重启集群才能生效修改。

下面在测试环境验证下这个过程:

[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(所有节点都需要重启):
[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后面的值已经成为由默认的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

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

更多精彩内容其他人还在看

ORACLE中如何找到未提交事务的SQL语句详解

这篇文章主要给大家介绍了关于ORACLE中如何找到未提交事务的SQL语句,文中通过示例代码介绍的非常详细,对大家学习或者使用ORACLE具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle分组函数之ROLLUP的基本用法

这篇文章主要给大家介绍了关于Oracle分组函数之ROLLUP的基本用法,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle数据库具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle表空间设置和管理浅析

这篇文章主要给大家介绍了关于Oracle表空间设置和管理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle使用MyBatis中RowBounds实现分页查询功能

这篇文章主要介绍了Oracle使用MyBatis中RowBounds实现分页查询 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle自定义脱敏函数的代码详解

这篇文章主要介绍了Oracle自定义脱敏函数的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle查询截至到当前日期月份所在年份的所有月份

这篇文章主要介绍了oracle查询截至到当前日期月份所在年份的所有月份,本文通过代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle数据库导入.dmp脚本的sql 语句

这篇文章主要介绍了oracle数据库导入.dmp脚本的sql语句,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle通过1条语句插入多个值的方法示例

这篇文章主要给大家介绍了关于oracle通过1条语句插入多个值的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

oracle导入导出表时因一个分号引发的惨案

这篇文章主要给大家介绍了关于oracle导入导出表时因一个分号引发的惨案,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle创建设置查询权限用户的方法

这篇文章主要给大家介绍了关于Oracle创建设置查询权限用户的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多