RAC中完整顯示crs_stat 命令中name列的shell腳本

無意中網上看到一個腳本,很好的解決了這個問題,感謝作者的辛勤勞動。
 
crs_stat.sh
awk /
  'BEGIN {printf "%-30s %-10s %-10s %-10s/n","Name                          ","Target    ","State     ","Host   ";
          printf "%-30s %-10s %-10s %-10s/n","------------------------------","----------", "---------","-------";}'
crs_stat | awk /
'BEGIN { FS="=| ";state = 0;}
  $1~/NAME/ {appname = $2; state=1};
  state == 0 {next;}
  $1~/TARGET/ && state == 1 {apptarget = $2; state=2;}
  $1~/STATE/ && state == 2 {appstate = $2; apphost = $4; state=3;}
  state == 3 {printf "%-30s %-10s %-10s %-10s/n", appname,apptarget,appstate,apphost; state=0;}'
 
效果如下:
[oracle@rac1 u01]$ sh crs_stat.sh
Name                           Target     State      Host    
------------------------------ ---------- ---------  ------- 
ora.rac1.ASM2.asm              ONLINE     ONLINE     rac1    
ora.rac1.LISTENER_RAC1.lsnr    ONLINE     ONLINE     rac1    
ora.rac1.gsd                   ONLINE     ONLINE     rac1    
ora.rac1.ons                   ONLINE     ONLINE     rac1    
ora.rac1.vip                   ONLINE     ONLINE     rac1    
ora.rac2.ASM1.asm              ONLINE     ONLINE     rac2    
ora.rac2.LISTENER_RAC2.lsnr    ONLINE     ONLINE     rac2    
ora.rac2.gsd                   ONLINE     ONLINE     rac2    
ora.rac2.ons                   ONLINE     ONLINE     rac2    
ora.rac2.vip                   ONLINE     ONLINE     rac2  
 
通過這個腳本,可以完整的顯示進程的名稱。 我們操作的時候,就方便很多了。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章