Oracle集群 diagwait的问题记录

 更新时间:2019年01月31日 10:12:26   作者:AlfredZhao  
这篇文章主要给大家介绍了关于Oracle集群diagwait的问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

对于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数据库对象的使用详解

    Oracle数据库对象的使用详解

    这篇文章主要介绍了Oracle数据库对象的使用,文章中涉及到的命令希望大家认真学习,对大家今后的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • oracle数据库排序后如何获取第一条数据

    oracle数据库排序后如何获取第一条数据

    这篇文章主要介绍了oracle数据库排序后如何获取第一条数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • oracle指定排序的方法详解

    oracle指定排序的方法详解

    本篇文章是对oracle指定排序的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Oralce中VARCHAR2()与NVARCHAR2()的区别介绍

    Oralce中VARCHAR2()与NVARCHAR2()的区别介绍

    这篇文章主要给大家详细介绍了关于Oralce中VARCHAR2()与NVARCHAR2()的区别,文中先通过翻译官方的介绍进行区别总结,然后由一个实战示例代码进行演示,相信对大家的理解会很有帮助,有需要的朋友们下面来跟着小编一起看看吧。
    2016-12-12
  • Oracle使用MyBatis中RowBounds实现分页查询功能

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

    这篇文章主要介绍了Oracle使用MyBatis中RowBounds实现分页查询 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • oracle dba 应该熟悉的命令

    oracle dba 应该熟悉的命令

    oracle dba 命令集合,非常的多啊,好东西。
    2009-06-06
  • Oracle计算时间差为毫秒的实现代码

    Oracle计算时间差为毫秒的实现代码

    这里我是用分隔字符串单独计算毫秒部分,如果有更好的办法,请大家分享一下,下面是查询时间差为毫秒的模板,需要的朋友可以参考下
    2017-03-03
  • Oracle存储过程的几种调用方式图文详解

    Oracle存储过程的几种调用方式图文详解

    存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在程序中就可以调用多次,下面这篇文章主要给大家介绍了关于Oracle存储过程的几种调用方式,需要的朋友可以参考下
    2023-04-04
  • oracle中读写blob字段的问题解析

    oracle中读写blob字段的问题解析

    这篇文章以程序实例说明通过JDBC操纵Oracle数据库LOB类型字段的几种情况
    2013-09-09
  • Oracle中的游标和函数详解

    Oracle中的游标和函数详解

    这篇文章主要介绍了 Oracle中的游标和函数详解的相关资料,需要的朋友可以参考下
    2017-05-05

最新评论