每天定时检查Oracle alert日志并发送mail的shell脚本
每天早上8点检查从昨天16点到现在的alert日志信息并发送mail,每天16点检查从早上8点到现在的alert日志信息并发送mail。这样就持续起来就可以保持每天都可见检查alert日志信息。虽然不能实时监测到错误并发mail但是对日常点检来说足够了。相当于每天查看两次alert日志信息。
每天上午8点的shell脚本如下:
同样每天16点的shell脚本将相应的datet进行注释替换就好了。
#!/bin/bash
# Every day at 16:00 check today fom 8.00 to now alert log info dbabc.net
# by dbabc.net 2011/1/14 dbabc.net
# User specific environment and startup programs dbabc.net
datet=`date -d yesterday “+%a %b %d”`” 16″ ### yesterday 00:00
#datet=`date “+%a %b %d”`” 08″ ####today 8:00
#switch log file for alter timestamp dbabc.net
sqlplus /nolog <<EOF
conn / as sysdba
alter system switch logfile;
exit
EOF
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
alterdir=/home/dbabc.net/dbabc.net_check
#check dir & file dbabc.net
if ! test -d ${alterdir}
then
mkdir -p ${alterdir}
fi
if ! test -f ${alterdir}/ok.log
then
echo ‘There is no rror & ORA- error_INFO in alter log 1 day before’ >${alterdir}/ok.log
fi
DBAEMAIL=dbabc.net_check@dbabc.net;export DBAEMAIL
alterlog=$ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log
errct=`sed -n “/${datet}/,/—-end-df/p” $alterlog |grep ‘ORA-|rror’ | wc -l`
alerlog=`sed -n “/${datet}/,/—-end-df/p” $alterlog >${alterdir}/alert.log`
errlog=`sed -n “/${datet}/,/—-end-df/p” $alterlog | grep ‘ORA-|rror’ >${alterdir}/err.log`
#send mail dbabc.net
if [ $errct -ne "0" ];then
ssh catalog mailx -s “‘There are error since ${datet} :00_on_${ORACLE_SID}_alter_log’” $DBAEMAIL <
${alterdir}/err.log
else
ssh catalog mailx -s “‘It is OK! Since ${datet}:00 on ${ORACLE_SID} alter log’” $DBAEMAIL < ${alterdir}/ok.log
fi
exit
分享到:
相关推荐
查看oracle数据库alert日志文件位置
oracle数据库日志查看方法,排查错误。
此脚本为定时删除oracle日志脚本,下载直接可用。欢迎围观
用java写的一个oracle日志查看器源代码,调用oracle数据库的logminer过程。包含一个不错的日历选择面板
#功能:自动删除ORACLE归档日志文件 #删除方式:rman ,deletearchivelog #调用方式:可单独调用,或在job_clean_archivlog.sh脚本中根据需要调用见另外的附件) ##############################################
编写一个bat脚本实现从Oracle数据库定时导出指定数据表的指定字段为txt文本并上传到FTP服务器的指定目录
oracle归档日志笔记,oracle归档日志笔记
数据库管理员需要检查这个文件有无ORA-错误并定期地对这个日志文件进行存档整理。 在UNIX下可以用grep命令把alert_orasid.log里出现的错误保存到另一个文件。然后去找原因。 $grep ORA- alert_orasid.log > ...
如何正确删除Oracle归档日志,oralce归档日志清理.
Oracle 定时删除数据 并释放空间 ,创建存储过程并使用job完成。
Oracle安装日志文件
oracle 归档日志 管理
这段程序可以用Oracle程序实现邮件的发送和附件的上传
oracle 11g的监听日志和警告日志都是在/u01/oracle/diag/tnslsnr/oracle/listener目录和/u01/oracle/diag/rdbms/db1/db1目录下都有以下分别简称listener目录和db1目录。这两目录下都有如下目录:alert cdump hm ...
按日期备份alert_ORACLE_你的实例名.LOG这个文件,如:alert_ORACLE_orcl_201408111639_bak.LOG。 2:清除日志内容 打开报警日志文件,用true > 文件名 可清除掉里面的内容 具体示例: 假如,我现在第一次进行该设置,...
Oracle清除归档日志
Oracle归档日志非常重要,对归档日志的管理更加重要,本文主要讲解Oracle归档日志方面的各种管理,值得收藏。
最全的配置方法,还是中文的,希望能用到 该文档将描述如何利用oracle的alert模块定义一个...需求:alert每天向今天过生日的朋友发送生日祝福 范围:该截图为在11.5.10中的结果,其他版本偶不是很清楚,应该大同小异
该文件提供了oracle日志文件的分析方法,能够从日志中追查相关操作,并进行恢复工作。