Advertisement
Guest User

Untitled

a guest
Apr 6th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. #/bin/sh
  2. #set -x
  3. USER=xxx
  4. PASS=yyy
  5. CC_OFFSHORE="xxx@hang.com , yyy@hang.com , zzz@hang.com"
  6. CC_TEAM="$CC_OFFSHORE , special_recipient@hang.com"
  7. . /home/oracle/.TESTenv #(NOT MANDATORY. DEPENDS ON YOUR ENVIRONMENT)
  8. sqlplus -s $USER/$PASS << EOF
  9. spool /home/oracle/SABARISH/RETVAL.log
  10. set linesize 140
  11. SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
  12. col group_number format 999
  13. col diskgroup format a20
  14. col total_mb format 999,999,999
  15. col free_mb format 999,999,999
  16. col tot_used format 999,999,999
  17. col pct_used format 999
  18. col pct_free format 999
  19. select group_number,
  20. name diskgroup,
  21. total_mb,
  22. free_mb,
  23. total_mb-free_mb tot_used,
  24. pct_used,
  25. pct_free
  26. from (select group_number,name,total_mb,free_mb,
  27. round(((total_mb-nvl(free_mb,0))/decode(total_mb,0,1,total_mb))*100) pct_used,
  28. round((free_mb/total_mb)*100) pct_free
  29. from v$asm_diskgroup
  30. where total_mb >0
  31. order by pct_free
  32. )
  33. /
  34. spool off;
  35. EOF
  36.  
  37. while read -r values
  38. do
  39. USED_PCT=$(echo $values | awk '{print $6}')
  40. DISKGROUP_NAME=$(echo $values | awk '{print $2}')
  41. WARNING_LIMIT=60
  42. CRITICAL_LIMIT=70
  43. if [ ${USED_PCT} -ge ${WARNING_LIMIT} ] && [ ${USED_PCT} -lt ${CRITICAL_LIMIT} ]
  44. then
  45. echo "WARNING ALERT. $DISKGROUP_NAME disk has used $USED_PCT%" | mailx -s "(WARNING ALERT $USED_PCT% used)" $CXC_OFFSHORE
  46. elif [ ${USED_PCT} -ge ${CRITICAL_LIMIT} ]
  47. then
  48. echo "CRITICAL ALERT.$DISKGROUP_NAME disk has used $USED_PCT%" | mailx -s "(CRITICAL ALERT $USED_PCT% used)" $CXC_TEAM
  49. fi
  50. done < /home/oracle/SABARISH/RETVAL.log
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement