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  
 
通过这个脚本,可以完整的显示进程的名称。 我们操作的时候,就方便很多了。


 

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