ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Monitor-Get ORA errors by given days

Monitor-Get ORA errors by given days

原创 Linux操作系统 作者:BenX22 时间:2013-03-06 10:38:26 0 删除 编辑
--OraCheck.sh
#!/bin/bash
#Usage:  sh OraCheck.sh  alertlogfile  days
#Example: sh OraCheck.sh  $ORACLE_BASE/admin/SID/bdump/alert_sid.log 30
 
ERRORLOGFILE=$1 
GAPDAYS=$2
ORAFILE=/tmp/oraerror.log
 
OSDAY=`date -d "-$GAPDAYS days"|awk '{print $3}'`
if [ $OSDAY -lt 10 ]; then
 
#For 10.2.0.4
        DAY_B4_30D=`date -d "-$GAPDAYS days"|awk  '{print $1,$2," "$3}'`
 
#For 10.2.0.5 or above
#DAY_B4_30D=`date -d "-$GAPDAYS days"|awk  '{print $1,$2,"0"$3}'`

        else
        DAY_B4_30D=`date -d "-$GAPDAYS days"|awk '{print $1,$2,$3}'`
fi
TODAY=`date |awk '{print $3}'`
if [ $TODAY -lt 10 ]; then
#For 10.2.0.4
        TODAYDATE=`date |awk  '{print $1,$2," "$3}'`
 
#For 10.2.0.5 or above
#TODAYDATE=`date |awk  '{print $1,$2,"0"$3}'`

        else
        TODAYDATE=`date |awk '{print $1,$2,$3}'`
fi
YEAR=`date |awk '{print $6}'`
FIRSTDAYLINENUM=`grep -nE ^"$DAY_B4_30D".*"$YEAR"$ $ERRORLOGFILE|head -1|cut -d: -f1`
TODAYLINENUM=`grep -nE ^"$TODAYDATE".*"$YEAR"$ $ERRORLOGFILE|tail -1|cut -d: -f1`
   
sed -n "$FIRSTDAYLINENUM","$TODAYLINENUM"p  $ERRORLOGFILE|grep -E "abort|ORA-|Errors|WARNING:" >$ORAFILE
cat $ORAFILE

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

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

注册时间:2012-06-13

  • 博文量
    74
  • 访问量
    110114