完全显示crs_stat命令结果中的列

现状如下

[grid@rac2 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....SM1.asm application    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   application    ONLINE    ONLINE    rac1        
ora....SM2.asm application    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    ONLINE    OFFLINE               
ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    ONLINE    ONLINE    rac1        

脚本

[grid@rac2 ~]$ cat crs.sh
#!/bin/bash
# Description:
#    - Returns formatted version of crs_stat -t, in tabular
#      format, with the complete rsc names and filtering keywords
#   - The argument, $RSC_KEY, is optional and if passed to the script, will
#     limit the output to HA resources whose names match $RSC_KEY.
# Requirements:
#   - $ORA_CRS_HOME should be set in your environment
RSC_KEY=$1
QSTAT=-u
AWK=/bin/awk    # if not available use /usr/bin/awk

# Table header:echo ""
$AWK \
  'BEGIN {printf "%-45s %-10s %-18s\n", "HA Resource", "Target", "State";
          printf "%-45s %-10s %-18s\n", "-------------------------------------", "------", "-------------------";}'

# Table body:
$ORACLE_HOME/bin/crs_stat $QSTAT | $AWK \
'BEGIN { FS="="; state = 0; }
  $1~/NAME/ && $2~/'$RSC_KEY'/ {appname = $2; state=1};
  state == 0 {next;}
  $1~/TARGET/ && state == 1 {apptarget = $2; state=2;}
  $1~/STATE/ && state == 2 {appstate = $2; state=3;}
  state == 3 {printf "%-45s %-10s %-18s\n", appname, apptarget, appstate; state=0;}'

修改后如下

[grid@rac2 ~]$ ./crs.sh       
HA Resource                                   Target     State             
-------------------------------------         ------     -------------------
ora.rac1.ASM1.asm                             ONLINE     ONLINE on rac1    
ora.rac1.LISTENER_RAC1.lsnr                   ONLINE     ONLINE on rac1    
ora.rac1.gsd                                  ONLINE     ONLINE on rac1    
ora.rac1.ons                                  ONLINE     ONLINE on rac1    
ora.rac1.vip                                  ONLINE     ONLINE on rac1    
ora.rac2.ASM2.asm                             ONLINE     ONLINE on rac2    
ora.rac2.LISTENER_RAC2.lsnr                   ONLINE     OFFLINE           
ora.rac2.gsd                                  ONLINE     ONLINE on rac2    
ora.rac2.ons                                  ONLINE     ONLINE on rac2    
ora.rac2.vip                                  ONLINE     ONLINE on rac1    

 

posted @ 2020-06-04 09:54  不可以是英文名吗  阅读(138)  评论(0)    收藏  举报