专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

分享一个实用脚本--定期归档ORACLE数据库告警日志

ins518 2024-10-14 12:48:04 技术文章 12 ℃ 0 评论

概述

ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档、监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息。因为内容比较多,所以今天只介绍归档部分,下面是归档的脚本。


一、定期归档告警日志

1、脚本:alert_log_archive.sh

将告警日志文件存放到/backup/alert_log目录下

#*************************************************************
# FileName :alert_log_archive.sh 
#*************************************************************
# Author :hwb
# CreateDate :2019-09-02
# Description :this script is achived alert log every day
#*************************************************************
 
#! /bin/bash
# these solved the oracle variable problem.
if [ -f ~/.bash_profile ];
then
 . ~/.bash_profile
fi
 
date=`date +%Y%m%d`
backup='/backup/alert_log'
 
alert_log_path="$ORACLE_BASE/diag/rdbms/rfdb/RFDB1/trace"
alert_log_file="alert_$ORACLE_SID.log"
alert_arc_file="$backup/alert_$ORACLE_SID.log.${date}"
 
cd ${alert_log_path} 
if [ ! -e "${alert_log_file}" ]; then
 echo "the alert log didn't exits, please check file path is correct!";
 exit;
fi
 
if [ -e ${alert_arc_file} ];then
 echo "the alert log file have been archived!"
else
 cat ${alert_log_file} >> ${alert_arc_file}
 cat /dev/null > ${alert_log_file}
fi

调试如下:

2、设置定时任务

每晚11点59分执行告警日志归档

59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1

这里逻辑还是比较简单的,后面在写一下怎么根据告警日志的ORA内容去监控,然后有问题就发告警邮件,感兴趣的朋友可以关注下~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表