使用 Diagwait 作為診斷工具,獲取用於診斷 Oracle Clusterware 節點驅逐
症狀:
出現以下情況時,Oracle Clusterware 會驅逐群集中的節點
節點未透過網路心跳進行 ping 操作
節點未 ping 表決磁碟
節點被掛起/忙碌,因此無法執行任何一個之前的任務
在大多數情況下,當節點被驅逐時,會有資訊寫入日誌,用於分析節點驅逐的原因。但是,在某些情況下可能缺少這一步,本文介紹的步驟適合以下這些情況:在 11gR2 (11.2.0.1) 之前的 Clusterware 版本中,沒有足夠的資訊或沒有資訊可用於分析節點驅逐的原因。
原因:
節點被驅逐以及節點因 CPU(或 CPU 不足)而變得異常繁忙時,可能會造成作業系統沒有時間將日誌/跟蹤資訊重新整理到檔案系統中。一種有用的方法是設定 diagwait 屬性,以延遲節點重新啟動,給作業系統足夠的時間寫入跟蹤資訊。設定 diagwait 後,Clusterware 將在重新啟動之前再等待 10 秒 (Diagwait - reboottime),以便在不增加資料損壞的可能前提下,安全的蒐集診斷資料。客戶在修正作業系統排程問題後,可以按照下文介紹的步驟取消 diagwait的設定。
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 的分步說明。
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 已經關閉)
參考:(文件 ID 1525761.1)
出現以下情況時,Oracle Clusterware 會驅逐群集中的節點
節點未透過網路心跳進行 ping 操作
節點未 ping 表決磁碟
節點被掛起/忙碌,因此無法執行任何一個之前的任務
在大多數情況下,當節點被驅逐時,會有資訊寫入日誌,用於分析節點驅逐的原因。但是,在某些情況下可能缺少這一步,本文介紹的步驟適合以下這些情況:在 11gR2 (11.2.0.1) 之前的 Clusterware 版本中,沒有足夠的資訊或沒有資訊可用於分析節點驅逐的原因。
原因:
節點被驅逐以及節點因 CPU(或 CPU 不足)而變得異常繁忙時,可能會造成作業系統沒有時間將日誌/跟蹤資訊重新整理到檔案系統中。一種有用的方法是設定 diagwait 屬性,以延遲節點重新啟動,給作業系統足夠的時間寫入跟蹤資訊。設定 diagwait 後,Clusterware 將在重新啟動之前再等待 10 秒 (Diagwait - reboottime),以便在不增加資料損壞的可能前提下,安全的蒐集診斷資料。客戶在修正作業系統排程問題後,可以按照下文介紹的步驟取消 diagwait的設定。
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 的分步說明。
1,以root使用者的身份執行
#crsctl stop crs
#
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 已經關閉)
參考:(文件 ID 1525761.1)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25373498/viewspace-1616555/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 Diagwait 診斷 Oracle Clusterware 節點驅逐的更多資訊 (文件 ID 1525761.1)AIOracle
- oracle診斷工具-RDA使用Oracle
- Oracle診斷工具RDA使用Oracle
- 【RAC】Oracle Clusterware 診斷收集指令碼Oracle指令碼
- 【轉】oracle診斷工具-RDA使用Oracle
- oracle診斷工具-RDA使用(轉)Oracle
- oracle 效能診斷工具Oracle
- oracle sqlt(sqltxplain) 診斷工具OracleSQLAI
- 通過設定DIAGWAIT值使得RAC中節點被驅逐的時候能夠記錄更多的診斷日誌AI
- 透過設定DIAGWAIT值使得RAC中節點被驅逐的時候能夠記錄更多的診斷日誌AI
- ORACLE診斷案例Oracle
- Oracle故障診斷Oracle
- ORACLE診斷事件Oracle事件
- 網路診斷工具的使用
- [JVM] 應用診斷工具之Fastthread(線上診斷)JVMASTthread
- Oracle診斷事件列表Oracle事件
- ORACLE診斷事件(zt)Oracle事件
- 使用crsctl工具診斷cluster問題
- 吃透 JVM 診斷方法與工具使用JVM
- 故障診斷學習工具
- 診斷oracle clusterware問題,需要收集並上傳的檔案Oracle
- Oracle診斷事件列表(轉)Oracle事件
- oracle 事件診斷詳細Oracle事件
- Oracle效能診斷藝術Oracle
- 【event messages】使用PL/SQL獲取Oracle診斷事件列表SQLOracle事件
- 作業系統診斷工具truss, pstack, and pmap作業系統
- HP平臺,9i RAC instance 2被驅逐故障診斷
- 10G 11GR1 通過設定DIAGWAIT值使得RAC中節點被驅逐的時候能夠記錄更多的診斷日誌AI
- 如何選擇java診斷工具Java
- .NET Core 服務診斷工具
- GreysJava線上問題診斷工具Java
- DB2故障診斷工具DB2
- 9 Oracle Data Guard 故障診斷Oracle
- Oracle診斷案例-Sql_traceOracleSQL
- oracle之 redo過高診斷Oracle
- Oracle所有診斷事件列表eventsOracle事件
- Oracle中診斷阻塞的sessionOracleSession
- 【Oracle】資料庫hang 診斷Oracle資料庫