oracle清理告警日志,Oracle 跟踪/告警/监听日志的清理脚本

本文介绍了一个用于自动化清理Oracle数据库各类日志文件的Shell脚本。该脚本包括清理跟踪日志(audit_log)、DiagAlert配置的log.xml文件、listener.log以及alert.log之外的文件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[root ~]# cat del_oracle_log.sh

#!/bin/bash

source /home/oracle/.bash_profile

function audit_log()

{   #---audit_log日志跟踪文件

#audit_log=$(strings $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora|grep -i audit_file_dest|awk -F'=' '{print $NF}'|sed "s/'//g")

audit_log=`sqlplus  -s /nolog <

connect lottery/lottery

set feedback off

set head off

select value from v\\$parameter where name='audit_file_dest';

END`

cd $audit_log

pwd=`pwd`

if [ $audit_log == $pwd ]

then

ls | xargs -n 10 rm -rf

echo '-------------------清理完------'$audit_log'路径'

fi

}

function log_xml()

{   #---Diag Alert -- log.xml文件的处理  只保留一个log.xml即可

log_xml=$(dirname `lsnrctl show log_file|grep -i log_file|awk '{print $NF}'`)

cd $log_xml

pwd=`pwd`

if [ $log_xml == $pwd ]

then

echo `ls |grep  -v log.xml` | xargs -n 10 rm -rf

echo '-------------------清理完------'$log_xml'路径'

fi

}

function listener()

{   #---listener.log文件的处理

listener_log=$(lsnrctl show trc_directory|grep -i trc_directory|awk '{print $NF}')

cd $listener_log

pwd=`pwd`

if [ $listener_log == $pwd ]

then

echo '' > listener.log

echo '-------------------清理完------'$listener_log'/listener.log'

fi

}

function alert_log()

{   #----alert.log以外的文件清理

alert_log=`sqlplus  -s /nolog <

connect lottery/lottery

set feedback off

set head off

select value from v\\$diag_info where upper(name)=upper('Diag trace');

END`

cd $alert_log

pwd=`pwd`

if [ $alert_log  == $pwd ]

then

echo `ls |grep  -v alert `| xargs -n 10 rm -rf

echo '-------------------清理完------'$alert_log'路径'

fi

}

function main()

{

if [ `ps -ef|grep oracle|grep -i smon|grep -v grep|wc -l` -eq 1 ]

then

echo '----------------'`date`'------------------开始清理---------------------------'

#/*每天清理audit_log(跟踪)、log_xml*/

audit_log

log_xml

#/*每月1号清理alert_log{异常分析}、listener(监听log)*/

date_=`date +%d`

if  [ $date_  -eq 1 ]

then

alert_log

listener

fi

echo '----------------'`date`'------------------结束清理---------------------------'

fi

}

main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值