博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SHELL脚本学习-定时检查Oracle alert日志并发送mail
阅读量:4981 次
发布时间:2019-06-12

本文共 1590 字,大约阅读时间需要 5 分钟。

对于DBA来说,检查alert日志是日常工作。告警日志日积月累往往很大,而且每次在服务器上查看或者下载到目标主机查看都十分不方便。

为了方便,以下做出两种情况:(其他情况类推)

第一场景:每天早上上班检查头一天的告警日志。于是用以下脚本截取前一天的日志,发送到指定接收人的邮箱。

#编辑脚本:vim alertlog_day.sh  #oracle用户下执行#!/bin/bash# 筛选前一日的alert日志,方便每天早上查看前一天的日志。# export LANG=en_USTODAY=`date +%Y-%m-%d`YESTERDAY=`date -d -1days +%Y-%m-%d`sed -n "/$YESTERDAY/,/$TODAY/"p $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log > /opt/oraclesh/alert_$ORACLE_SID_$YESTERDAY.logecho "Please find the attachment!" |mail -s "ALTER_SID_LOG_$YESTERDAY"  -a /opt/oraclesh/alert_$ORACLE_SID_$YESTERDAY.log xxx@xxx.com

第二场景:每隔一个小时截取一次告警日志,并对日志内容初步分析。判断是否存在ORA-相关错误,出现错误的才发至指定接收人邮箱。

#编辑脚本:vim alertlog_hour.sh    #oracle用户下执行#!/bin/bash# 筛选alter日志:按每小时截取日志并存放到目标路径。#  判断如果该日志存在ORA-的相关错误,则发送邮件给接收人;#  判断如果该日志无任何错误,则无需发送邮件。只记录一下执行日志即可,以备后续查阅。export LANG=en_USONE_HOUR_AGO=`date -d -1hour +%Y-%m-%dT%H`CURRENT_TIME=`date +%Y-%m-%dT%H`STORAGE_PATH="/opt/oraclesh/alert_$ORACLE_SID_$ONE_HOUR_AGO.log"sed -n "/$ONE_HOUR_AGO/,/$CURRENT_TIME/"p $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log > $STORAGE_PATHif [ `grep -i "ORA-" $STORAGE_PATH | wc -l` -ne 0 ] ;then   echo "Find errors, please see the attachment for details !" |mail -s "ALTER_SID_LOG_$ONE_HOUR_AGO"  -a $STORAGE_PATH xxx@xxx.com else   echo "$ONE_HOUR_AGO: No error find in file" >> /opt/alert_normal.logfi

 

如果要在root用户下书写,增加设置变量:

ORACLE_BASE=`su - oracle -c "env | grep ORACLE_BASE "|awk -F "=" '{print $2}'`ORACLE_SID=`su - oracle -c "env | grep ORACLE_SID "|awk -F "=" '{print $2}'`

 

转载于:https://www.cnblogs.com/ctulzq/p/10449738.html

你可能感兴趣的文章
3分钟打动投资人:商业计划书篇
查看>>
折半查找
查看>>
LuoguP3690 【模板】Link Cut Tree (动态树) LCT模板
查看>>
windows日志存放位置[转]
查看>>
Eclipse 插件TFS 注册码
查看>>
[转载]从此不再惧怕URI编码:JavaScript及C# URI编码详解
查看>>
【poj3070】矩阵乘法求斐波那契数列
查看>>
js局部变量与全局变量的理解
查看>>
2011 Multi-University Training Contest 4 - Host by SDU
查看>>
UML类图6种主要关系区别和联系
查看>>
lucene-5.1.0 索引的创建与查询 demo
查看>>
管理Java垃圾回收的五个建议
查看>>
中文乱码问题
查看>>
WF 4.0 之持久化操作一:SqlServer方式的存储
查看>>
再谈js的作用域
查看>>
树形菜单的绑定以及链接
查看>>
Android BroadcastReceiver 面试解析
查看>>
OpenGL编程指南第九章:纹理映射
查看>>
腾讯面试小记
查看>>
【转】树链剖分
查看>>