使用crsctl工具診斷cluster問題

安佰勝發表於2010-11-10


使用crsctl工具診斷cluster問題

==================

以root身份執行crsctl命令能夠診斷oracle叢集安裝中的問題
還可以動態調整叢集軟體

本小節主要講述以下內容

獲取oracle叢集元件名
開啟oracle叢集元件除錯
開啟和關閉oracle叢集deamons
定位oracle叢集的alert日誌
為oracle叢集資源開啟除錯
檢查oracle叢集安裝資訊
定位叢集元件的log檔案
執行oracle叢集軟體診斷資訊收集指令碼

-------------------

獲得oracle叢集元件名

使用下面的命令來獲得oracle叢集元件名
其中module_name可以是crs、evm或者css
例:
#crsctl lsmodules module_name

# crsctl lsmodules css
The following are the CSS modules ::
CSSD
COMMCRS
COMMNS
---------------------

開啟oracle叢集元件除錯

使用crsctl命令可以開啟oracle 叢集deamons、event manager(EVM)以及模組的除錯功能
component-name代表叢集元件名如crs,evm或者css
module是使用使用crsctl lsmodules命令列出的模組名
debugging-level可以定義為1-5
例:
#crsctl debug log component module:debugging_level

#crsctl debug log css CSSD:1

-----------------------

啟動關閉oracle叢集deamons

當oracle叢集軟體的deamons處於enabled狀態,當節點啟動時自動啟動
使用crsctl命令可以啟動或關閉deamons

#crsctl enable crs
#crsctl disable crs

-------------------------

和db一樣,cluster軟體也會記錄alertlog來記錄重大的錯誤或問題
記錄的路徑為:
CRS_HOME/log/hostname/alerthostname.log
其中hostname是節點的hostname

--------------------------

開啟oracle叢集軟體資源除錯

使用crsctl命令開啟oracle叢集軟體資源除錯
語法如下:
#crsctl debug log res resource_name:debugging_level
其中resource-name是oracle叢集軟體資源的名,如,ora.decrac1.vip
debugging_level可以是1到5

獲取目前oracle叢集軟體資源的列表,使用下面的命令
#crs_stat

-----------------------------

校驗oracle叢集軟體安裝的資訊

#crsctl check crs
#crsctl check deamon
deamon可以似乎crsd,cssd,evmd

------------------------------

叢集軟體各元件的log檔案位置

CRS_HOME/log/hostname/crsd
CRS_HOME/log/hostname/cssd
CRS_HOME/log/hostname/evmd
CRS_HOME/log/hostname/client
CRS_HOME/log/hostname/racg
為了實現高可用,通常在下面的路徑下也會有日誌
$ORACLE_HOME/log/hostname/racg

如果oracle叢集軟體元件生成dump檔案,通常是放在日誌檔案的子目錄中的

-------------------------------

執行oracle clusterware診斷資訊收集指令碼

以root身份執行diagcollection.pl來收集統計資訊
#CRS——HOME/bin/diagcollection.pl
會統計出css,evm,crs的統計資訊

=============================

使用CVU--cluster verification utility來診斷問題

本小節包括以下內容:
開啟trace
檢查網路培植
返回UNKNOWN故障的原因
驗證線上節點中的應用
驗證機群軟體的完整性
驗證ocr的完整性
驗證整個叢集的完整性

---------------

開啟trace跟蹤

將環境變數SRVM_TRACE 設定為true
這樣執行的CVU命令就會自動被跟蹤
trace檔案儲存的路徑為
CRS_HOME/CV/LOG
系統給trace檔案自動命名為cvutrace.log.0.
一旦開啟,系統會不斷的記錄命令的跟蹤檔案,所以要注意空間的使用並刪除或歸檔不需要的跟蹤檔案

--------------

檢查網路設定

oracle 通過cache fusion技術在節點的dbcache間交換塊,以此來提高效能
節點間是通過私有網路來進行資料交換的
使用cvu可以驗證網路的配置情況

驗證當前節點能訪問到的節點,使用以下命令
cluvfy comp nodereach -n node_list [-srconde node] [-verbose]

驗證當前從節點可以訪問的節點,使用以下命令
cluvfy comp nodecon -n node_list [-i interface_list] [-verbose]

cluvfy comp nodecon -n all [-verbose]

例:
clufy comp nodecon -n docrac1,docrac2,docrac3 -i eth0 -verbose

----------------

返回UNKNOWN故障的原因

如果使用cluvfy -verbose,返回的是UNKNOWN的話,意味著CVU不能確定是否通過
出現這種現象的原因有可能是單點故障,也有可能是系統故障
以下是返回UNKNOWN時可能出現的原因
1、節點down
2、在crs_home/bin下或者$ORACLE_HOME/bin下沒有cvu命令
3、缺補丁或系統缺包
4、核心引數配置有誤,cvu不能獲取作業系統資訊

-------------------

驗證叢集中例項的應用
cluvfy comp node app [-n node_list] [-verbose]

--------------------

驗證叢集軟體完整性
cluvfy comp crs [-n node_list] [-verbose]

--------------------

驗證ocr完整性
cluvfy comp ocr [-n node_list] [-verbose]

--------------------

驗證整個叢集的完整性
cluvfy comp clu

---------------------

檢視RAC資料庫的alert

在OEM的HOME頁中就有
叢集資料庫與單點資料庫的alert日誌區別在於叢集資料庫的alert日誌表格中有target name欄位,記錄的是資訊發生的節點


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13177610/viewspace-677896/,如需轉載,請註明出處,否則將追究法律責任。

相關文章