ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux 下監控腳本

linux 下監控腳本

原创 Linux操作系统 作者:pingdanorcale 时间:2012-10-31 13:40:44 0 删除 编辑


#!/bin/bash
echo "======================================"
echo "=    監控監聽器  by ardu 2010/06/07  ="
echo "======================================"
. /home/oracle/.bash_profile
tempfile=/u01/tempfile.lis
lsnrctl status > $tempfile
if [ $? != 0 ]
then
   echo " " >> $tempfile
   echo "=============================================" >> $tempfile
   echo " " >> $tempfile
   date >> $tempfile
   echo "Listener is down, restarting it agin." >> $tempfile
   lsnrctl start >> $tempfile

   if [ $? = 0 ]
   then
      mail ardu@163.com -s "Listener is restarted." < $tempfile
   else
      mail ardu@163.com -s "Listener is down, restarting failed." < $tempfile
   fi
 fi
rm -f $tempfile

 

#/bin/bash
echo "======================================"
echo "=   磁盤空間  by ardu 2009/08/23  ="
echo "======================================"
limit=85%
RESULT=$(df | grep "^/dev/" | awk '{print $5}' | sort -nr | head -1)
if [[ $RESULT > $limit ]]; then
     df -h | mail -s "Server Warning: Disk usage nearly full " ardu@163.com
fi


#! /bin/bash
echo "======================================"
echo "=   磁盤空間  by ardu 2009/08/23  ="
echo "======================================"
limit=85
tempfile=chk_disk_space.tmp
alert=n
for percent in `df | grep -v Filesystem | awk '{ print $5 }' | cut -d'%' -f1`
do
   if [ $percent -ge $limit ]
   then
      alert=y
      break
    fi
 done

 if [ ! alert = 'n' ]
 then
    df -k > $tempfile
    mail -s "Disk usage above $limit% on `hostname`" ardu@163.com < $tempfile
    rm -f $tempfile
 fi


#! /bin/bash
echo "======================================"
echo "=    警告日誌  by ardu 2010/08/23  ="
echo "======================================"
. /home/oracle/.bash_profile
cd $ORACLE_BASE/admin/$ORACLE_SID/bdump
if [ -f alert_$ORACLE_SID.log ]
then
   mv alert_$ORACLE_SID.log alert_temp.log
   touch alert_$ORACLE_SID.log
   cat alert_temp.log >> alert_$ORACLE_SID.hist
   grep ORA- alert_temp.log > alert.err
 fi
 if [ `cat alert.err|wc -l` -gt 0 ]
 then
    mail -s "ORACLE ALERT ERRORS" ardu@163.com < alert.err
 fi
 rm -f alert.err
 rm -f alert_temp.log

#! /bin/bash
echo "======================================"
echo "=    大於80%的tablespace  by ardu 2010/08/23  ="
echo "======================================"
. /home/oracle/.bash_profile
sqlplus "system/oracle11g"> /dev/null << EOF
set feed off
set heading off
set pagesize 0
set linesize 300
spool tbsfree.alert
 SELECT UPPER(F.TABLESPACE_NAME) TABLESPACE_NAME,
       ??TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) /
                         D.TOT_GROOTTE_MB * 100,
                         ??2),
                   ?? '990.99') free_pre ?
  FROM (SELECT TABLESPACE_NAME,
               ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
               ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
          FROM SYS.DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F,
       ?? (SELECT DD.TABLESPACE_NAME,
                    ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
               FROM SYS.DBA_DATA_FILES DD
              GROUP BY DD.TABLESPACE_NAME) D
 WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
   AND TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
                     ??2),
               '990.99') > 80
---AND D.TABLESPACE_NAME NOT IN ('UNDOTBS1','SYSTEM','SYSAUX')

 ORDER BY 2 DESC;
spool off
exit
EOF

if [ `cat tbsfree.alert | wc -l` -gt 0 ]
then
   cat tbsfree.alert | mail ardu@163.com -s "No enough free space in Orace db! "
fi

 

sqlplus scott/tiger << EOF
set pagesize 5000 
set heading off 
SPOOL ANALYTAB.SQL 
SELECT 'ANALYZE TABLE SCOTT.'||TABLE_NAME||' ESTIMATE STATISTICS SAMPLE 20 PERCENT ;' FROM USER_TABLES;
SPOOL OFF 
SPOOL ANALYIND.SQL 
SELECT 'ANALYZE TABLE SCOTT.'||TABLE_NAME||' ESTIMATE STATISTICS SAMPLE 20 PERCENT FOR ALL INDEXES;' FROM USER_TABLES;
SPOOL OFF  SPOOL ANALYZE.LOG
@ANALYTAB.SQL
@ANALYIND.SQL
 SPOOL OFF  EXIT

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10201716/viewspace-747998/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-01-02

  • 博文量
    158
  • 访问量
    221190