【RAC】使用一條“ps”命令獲取Linux環境下全部RAC叢集程式資訊

kingsql發表於2014-08-14
  如何僅使用一條ps命令便能獲取到所有與RAC叢集程式相關的資訊。
  從所使用的命令角度上看很簡單,僅需使用ps命令結合grep命令便能實現。問題關鍵是需要確定檢索哪些關鍵字。

1.與RAC叢集有關的程式
1)常駐系統的通用程式
ocssd.bin
evmd.bin
evmlogger.bin
crsd.bin

這些通用程式需要在各種平臺和資料庫版本上都會啟動。

2)特有程式
oprocd: 在UNIX平臺當第三方叢集軟體為執行時會啟動該程式;在Linux平臺上會在Oracle 10.2.0.4這個版本上啟動該程式
oclsvmon.bin: 隨第三方叢集軟體啟動而啟動的程式
oclsomon.bin: 在Oracle 10.2.0.1平臺上啟動的用於檢查ocssd.bin
diskmon.bin: 在Oracle 11.1.0.7版本中針對Exadata啟動的新程式
oclskd.bin: 在Oracle 11.1.0.6版本上當資料庫例項出現hang死現象後,該程式用於重新啟動節點

注意:以上所有與RAC叢集相關的程式中ocssd.bin、oprocd.bin和oclsomon.bin這三個程式出現異常被殺死或停止時都會導致節點重啟,其他程式出現問題後會自動重新啟動。

2.針對RAC叢集程式給出查詢命令
這裡的RAC作業系統環境是Linux,Oracle版本是10.2.0.3。
我們使用作業系統“ps -ef | grep -v grep | grep -E 'init|d.bin|ocls|oprocd|diskmon|evmlogger|PID'”(這裡用到了grep的-E正規表示式功能)命令完成我們的任務。
這裡給處理需要檢索的關鍵字資訊。

RAC第一節點命令執行後的顯示結果如下所示:
secdb1@secdb1 /home/oracle$ ps -ef | grep -v grep | grep -E 'init|d.bin|ocls|oprocd|diskmon|evmlogger|PID'
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Feb10 ?        00:00:06 init [5]
root      5666     1  0 Feb10 ?        01:01:52 /bin/sh /etc/init.d/init.cssd fatal
root      5668     1  0 Feb10 ?        00:32:18 /oracle/crs/oracle/product/10.2.0/crs/bin/crsd.bin reboot
root      6063  5666  0 Feb10 ?        00:00:00 /bin/sh /etc/init.d/init.cssd daemon
oracle    6090  5663  0 Feb10 ?        00:01:18 /oracle/crs/oracle/product/10.2.0/crs/bin/evmd.bin
oracle    6224  6189  0 Feb10 ?        00:03:59 /oracle/crs/oracle/product/10.2.0/crs/bin/ocssd.bin
oracle    6512  6090  0 Feb10 ?        00:00:03 /oracle/crs/oracle/product/10.2.0/crs/bin/evmlogger.bin -o /oracle/crs/oracle/product/10.2.0/crs/evm/log/evmlogger.info -l /oracle/crs/oracle/product/10.2.0/crs/evm/log/evmlogger.log


3.小結
在檢視RAC叢集程式的過程中最關鍵的就是了解程式資訊和功能,在此基礎上作業系統命令僅僅是工具而已。

Good luck.

secooler
11.04.19

-- The End --

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

相關文章