介紹一個自己寫的crs_stat指令碼

yuntui發表於2016-11-03

這是一個我自己寫的指令碼,主要是方便自己去檢視(因為複製過來以後排版很亂,所以直接用圖片來顯示了)

image

這是我們在使用RAC,或者在單機安裝上ASM之後看到的結果

上面是oracle11g 11.2.0.4在oracle linux 6.5 上顯示的結果:

image

[grid@oel64~+ASM ~]$ uname -a

Linux oel64.localdomain 3.8.13-16.2.1.el6uek.x86_64 #1 SMP Thu Nov 7 17:01:44 PST 2013 x86_64 x86_64 x86_64 GNU/Linux

發現在11.2.0.4上,這個ora.diskmon預設是不啟動的了,和11.2.0.1是不一樣的

 

但是我這裡主要關心的是,如果我想停掉ora....ER.lsnr服務的話,如何做?

我想一定是這樣先檢視:

image

接下來我們將這個resource停止掉:


image

圖中顯示已經從ONLINE變成OFFLINE了

 

這樣做是沒問題的,但是先要去使用crs_stat -v先檢視一下,再複製一下,不符合我UNIX的簡單的理念,所以寫一個小指令碼來解決:

image

效果如下:

image


這樣我們就可以看到:ora.LISTENER.lsnr全名稱了,同時,後面的type也不是隱藏起來的了

現在再使用時就方便了: [grid@oel64~+ASM ~]$ crsctl stop res ora.LISTENER.lsnr

 

指令碼我起的名字是:mycrs_stat,可以把這個放到和crs_stat相同的目錄下,通常在$ORACLE_HOME/bin下面

[grid@oel64~+ASM ~]$ cat mycrs_stat
#!/usr/bin/env sh

crs_stat -v | awk 'BEGIN{FS="\n";RS=""}{print $1,$2,$3,$4,$5,$6,$7,$8}' | \
( printf "Name Type R/RA F/FT Target State Host\n\n"; \
sed -e 's/NAME=//;s/TYPE=//;s/TARGET=//;s/STATE=//;s/ on / /' \
    -e 's#RESTART_ATTEMPTS=\([0-9]*\) RESTART_COUNT=\([0-9]*\) FAILURE_THRESHOLD=\([0-9]*\) FAILURE_COUNT=\([0-9]*\) # \2/\1 \4/\3 #') | \
column -t | sed 2i\
'-----------------------------------------------------------------------------'
[grid@oel64~+ASM ~]$

 

下面是啟動後的效果圖

image

這樣看起來舒服多了吧,呵呵!

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

相關文章