使用 Diagwait 診斷 Oracle Clusterware 節點驅逐的更多資訊 (文件 ID 1525761.1)

datapeng發表於2014-03-04
跳至內容










單擊此項可新增到收藏夾 使用 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部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1100910/,如需轉載,請註明出處,否則將追究法律責任。

相關文章