ITPub博客

首页 > 数据库 > Oracle > 使用 Diagwait 诊断 Oracle Clusterware 节点驱逐的更多信息 (文档 ID 1525761.1)

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

Oracle 作者:datapeng 时间:2014-03-04 16:30:20 0 删除 编辑
跳至内容










单击此项可添加到收藏夹 使用 Diagwait 作为诊断工具,获取用于诊断 Oracle Clusterware 节点驱逐的更多信息 (文档 ID 1525761.1) 转到底部转到底部











APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.1.0.5 to 11.1.0.7 [Release 10.1 to 11.1]
UnitedLinux Itanium
Linux x86
HP-UX PA-RISC (64-bit)
IBM AIX on POWER Systems (64-bit)
Oracle Solaris on SPARC (64-bit)
HP-UX Itanium
Red Hat Enterprise Linux Advanced Server x86-64 (AMD Opteron Architecture)
Red Hat Enterprise Linux Advanced Server Itanium
Oracle Solaris on x86-64 (64-bit)
Linux x86-64

SYMPTOMS

 

出现以下情况时,Oracle Clusterware 会驱逐群集中的节点

  • 节点未通过网络心跳进行 ping 操作
  • 节点未 ping 表决磁盘
  • 节点被挂起/忙碌,因此无法执行任何一个之前的任务

在大多数情况下,当节点被驱逐时,会有信息写入日志,用于分析节点驱逐的原因。但是,在某些情况下可能缺少这一步,本文介绍的步骤适合以下这些情况:
在 11gR2 (11.2.0.1) 之前的 Clusterware 版本中,没有足够的信息或没有信息可用于分析节点驱逐的原因。

从 11.2.0.1 开始,客户无需设置 diagwait,因为我们已经更改了体系结构。

CHANGES

无

CAUSE

节点被驱逐以及节点因 CPU(或 CPU 不足)而变得异常繁忙时,可能会造成操作系统没有时间将日志/跟踪信息刷新到文件系统中。一种有用的方法是设置
diagwait 属性,以延迟节点重新启动,给操作系统足够的时间写入跟踪信息。设置 diagwait 后,Clusterware 将在重新启动之前再等待 10 秒
(Diagwait - reboottime),以便在不增加数据损坏的可能前提下,安全的搜集诊断数据。客户在修正操作系统调度问题后,可以按照下文介绍的步骤取消
diagwait的设置。

* -- 可在 Windows 上设置 Diagwait,但它不会如同在 Unix-Linux 平台上那样改变行为

 

Diagwait 属性在 10.2.0.3 被推出,已经包含 10.2.0.4 & 11.1.0.6 以及更高的版本中。 大多数平台的 10.1.0.5 版本也已经包含。 这意味着您可以在 10.1.0.5
(及更高), 10.2.0.3 (及更高) 和 11.1.0.6 (及更高) 版本中设置 diagwait。 如果 crsctl set/get css diagwait 命令返回 
"unrecognized parameter diagwait specified"  这说明Clusterware 版本不能实施 diagwait。 请您在设置diagwait前打上对应的 patchset。

SOLUTION

更改 diagwait 时务必关闭所有节点上的 clusterware 软件。下面是设置 diagwait 的分步说明。

  1. 以root用户的身份执行
    #crsctl stop crs 
    #/bin/oprocd stop
  2. 执行以下命令,确保关闭所有节点上的 Clusterware 软件
    #ps -ef |egrep "crsd.bin|ocssd.bin|evmd.bin|oprocd"

    这步应该不会返回任何进程。如果在 clusterware 运行时继续执行下一步骤,可能会损坏 OCR。在关闭群集所有节点上的 clusterware 软件前,
    不要继续操作。

  3. 在群集的一个节点上,通过root用户发出以下命令,可将“diagwait”参数的值改为 13 秒:
    #crsctl set css diagwait 13 -force
  4. 执行以下命令,检查是否已成功设置 diagwait。该命令应返回 13。如果未设置 diagwait,将返回消息“Configuration parameter diagwait is not defined”。
    #crsctl get css diagwait
  5. 在集群所有的节点上执行以下命令,重新启动Clusterware 软件:
    #crsctl start crs
  6. 在所有节点执行以下命令,验证Clusterware 是否正常运行:
    #crsctl check crs

取消设置/删除 diagwait

客户在修正操作系统调度问题前,不应取消diagwait设置,因为这样可能会导致出现节点驱逐的情况。Diagwait 会将节点驱逐(和重新配置)延迟 diagwait (13) 秒
,这种配置不会影响大多数客户。如果需要移除 diagwait,则应按照上述步骤操作,其中步骤 3 需用以下命令替代

#crsctl unset css diagwait -force 

(注意:在取消设置 diagwait 时,必须使用 -force 选项,因为执行取消设置操作时 Clusterware 已经关闭)

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

请登录后发表评论 登录
全部评论

注册时间:2013-12-06

  • 博文量
    228
  • 访问量
    2684259