--该文章摘抄Oracle metalink网站(文档 ID 1525761.1)
Oracle Database - Enterprise Edition - 版本 10.1.0.5 到 11.1.0.7 [发行版 10.1 到 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
出现以下情况时,Oracle Clusterware 会驱逐群集中的节点
节点未通过网络心跳进行 ping 操作
节点未 ping 表决磁盘
节点被挂起/忙碌,因此无法执行任何一个之前的任务
在大多数情况下,当节点被驱逐时,会有信息写入日志,用于分析节点驱逐的原因。但是,在某些情况下可能缺少这一步,本文介绍的步骤适合以下这些情况:在 11gR2 (11.2.0.1) 之前的 Clusterware 版本中,没有足够的信息或没有信息可用于分析节点驱逐的原因。
从 11.2.0.1 开始,客户无需设置 diagwait,因为Oracle已经更改了体系结构。
原因如下:
节点被驱逐以及节点因 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。
解决方案
更改 diagwait 时务必关闭所有节点上的 clusterware 软件。
下面是设置 diagwait 的分步说明:
以root用户的身份执行
#crsctl stop crs
#/bin/oprocd stop
执行以下命令,确保关闭所有节点上的 Clusterware 软件
#ps -ef |egrep "crsd.bin|ocssd.bin|evmd.bin|oprocd"
这步应该不会返回任何进程。如果在 clusterware 运行时继续执行下一步骤,可能会损坏 OCR。在关闭群集所有节点上的 clusterware 软件前,不要继续操作。
在群集的一个节点上,通过root用户发出以下命令,可将“diagwait”参数的值改为 13 秒:
#crsctl set css diagwait 13 -force
执行以下命令,检查是否已成功设置 diagwait。该命令应返回 13。如果未设置 diagwait,将返回消息“Configuration parameter diagwait is not defined”。
#crsctl get css diagwait
在集群所有的节点上执行以下命令,重新启动Clusterware 软件:
#crsctl start crs
在所有节点执行以下命令,验证Clusterware 是否正常运行:
#crsctl check crs
取消设置/删除 diagwait
客户在修正操作系统调度问题前,不应取消diagwait设置,因为这样可能会导致出现节点驱逐的情况。Diagwait 会将节点驱逐(和重新配置)延迟 diagwait (13) 秒,这种配置不会影响大多数客户。如果需要移除 diagwait,则应按照上述步骤操作,其中步骤 3 需用以下命令替代
#crsctl unset css diagwait -force
(注意:在取消设置 diagwait 时,必须使用 -force 选项,因为执行取消设置操作时 Clusterware 已经关闭)
阅读(3696) | 评论(0) | 转发(1) |