Oracle预防alert日志过大的脚本:del_alertlog.sh
Oracle预防alert日志过大的脚本
参考:https://blog.csdn.net/jc_benben/article/details/88798523
在原文思路的基础上,做了一些修正,实测可用,最终如下:
#!/bin/bash
# script_name:del_alertlog.sh
# function:Oracle预防alert日志过大,超过1G的alert日志会被归档到上层目录,以日期结尾;超过10M的xml文件会被删除。可添加到crontab定时任务中:
# crontab -l
# 0 6 * * * /bin/sh /home/oracle/scripts/del_alertlog.sh
#ORA_ENV:将你的Oracle环境变量粘贴到下面:
export ORACLE_SID=demo1
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
#SQL*Plus
sqlplus -S / as sysdba <<EOF
set heading off feedback off pagesize 0 verify off echo off
spool tmp.txt
select value pvalue from v\$diag_info where name='Diag Trace';
select value pvalue from v\$diag_info where name='Diag Alert';
spool off
exit
EOF
#将上面查到的两个告警日志目录赋给两个变量
PATH1=$(sed -n '1p' tmp.txt)
PATH2=$(sed -n '2p' tmp.txt)
#或者干脆指定PATH1和PATH2,这样前面就都不需要了,无论哪种方式,一定需要人工验证后再正式部署;
#在trace目录下,超过1G(这里的1G以1000000000字节判断)的alert会被mv备份到上层目录的alertlog-<当前日期>.bak
cd $PATH1
for filename in $( ls -l alert* |awk '{if($5>1000000000) print $9}')
do
if [ -f $filename ]
then
mv $filename ../alertlog-`date +%Y%m%d`.bak
fi
done
#在alert目录下,超过10M(这里的10M以10000000字节判断)的xml会被直接删除
cd $PATH2
for filename1 in $( ls -l *.xml |awk '{if($5>10000000) print $9}')
do
if [ -f $filename1 ]
then
rm -f $filename1
fi
done
Oracle预防alert日志过大的脚本:del_alertlog.sh的更多相关文章
- Oracle 数据库 alert日志及trace日志的清理
Oracle 数据库 alert日志及trace日志的清理 方案一: 暂停数据库的trace 登录到数据库 sqlplus / as sysdba 修改参数: SQL> alter system ...
- 快速找到oracle的alert日志
https://jingyan.baidu.com/article/f3ad7d0fe5d31309c3345b9b.html
- Oracle RAC的日志体系
Oracle Clusterware 不像数据库那样,有丰富的视图.工具可以用来辅助诊断,它的日志和trace文件是唯一的选择.但不像Oracle只有alert日志和几种trace文件,Oracle ...
- SHELL脚本学习-定时检查Oracle alert日志并发送mail
对于DBA来说,检查alert日志是日常工作.告警日志日积月累往往很大,而且每次在服务器上查看或者下载到目标主机查看都十分不方便. 为了方便,以下做出两种情况:(其他情况类推) 第一场景:每天早上上班 ...
- Linux如何用脚本监控Oracle发送警告日志ORA-报错发送邮件
Linux如何用脚本监控Oracle发送警告日志ORA-报错发送邮件 前言 公司有购买的监控软件北塔系统监控,由于购买的版权中只包含了有限台数据库服务器的监控,所以只监控了比较重要的几台服务器. 后边 ...
- oracle导入命令,记录一下 数据库日志太大,清理日志文件
oracle导入命令,记录一下 工作中用到了,这个命令,记录一下,前提要安装imp.exe imp PECARD_HN/PECARD_HN@127.0.0.1:1521/orcl file=E:\wo ...
- ORACLE 监听日志文件太大停止写监听日志引起数据库连接不上问题
生产库监听日志文件太大(达到4G多),发现oracle停止写监听日志,检查参数log_file,log_directory,log_status 均正常,数据库运行也正常. 经确认确实为监听日志过大引 ...
- ORACLE的监听日志太大,客户端无法连接
数据库sqlplus能连接,plsql连接失败,也不报错,就定位到了是不是监听出了什么问题,删除监听,重建监听,重启监听,各种尝试都没解决问题. 却是监听日志太大导致的问题,一下是处理步骤: 查看监听 ...
- Oracle 9i,10g,11g各自alert日志的位置
10g&9i的alert日志: 进入oracle:[zhangshengdong@oralocal1 ~]$ sudo su - oracle[oracle@oralocal1 ~]$ sql ...
- oracle 11g查看alert日志方法
一.第一种方法 1.切换到oracle用户 su - oracle 2.进入sqlplus窗口 sqlplus / as sysdba 3.执行sql命令,查看trace文件位置:background ...
随机推荐
- Serverless 年终技术盘点 :工业、学术、社区遍地开花,国内厂商迅速卡位
作者 | 刘宇(花名:江昱) 2021 年,Serverless 架构在权威咨询机构 Forrester 所发布的 < The Forrester Wave: Function-As-A-S ...
- Transformer的应用
Transformer 写在前面 本学期学习了NLP的课程,本小菜鸡结合做的课设(基于Transformer的英文文档摘要系统的设计与实现),来写一下有关于Transformer的相关内容吧,有问题之 ...
- centos7 systemctl配置开机自启动服务
centos7使用systemctl替代原来/etc/init.d,按官方的说法是提高系统服务的运行效率.服务配置更加简单易用,对于一些自定义的服务来配置开机自启动,是真的香! 概念理解 它是服务管理 ...
- AvaloniaUI 取消标题栏,无边框无最大最小化,
AvaloniaUI 取消标题栏,无边框无最大最小化, 创建一个Window控件 并且在Window中添加以下代码 ExtendClientAreaToDecorationsHint="Tr ...
- 08-逻辑仿真工具VCS-mismatch
逻辑仿真工具VCS mismatch,预计的仿真结果和实际仿真结果不同,寻找原因? 首先考虑代码,,不要让代码跑到工具的盲区中 其次考虑仿真工具的问题 +race -- 将竞争冒险的情况写到文件中 不 ...
- 使用QQ屏幕识图实现识别表格功能
1.问题 目前市场上的OCR工具对于识别表格功能均是采取了收费制度,但我们时常要进行一些表格的复制(原表格为图片) 便可以使用QQ或钉钉自带的功能来实现 2.解决 1.QQ屏幕识图 先使用屏幕识图功能 ...
- 【转帖】Dockerfile文件指令介绍
https://blog.whsir.com/post-5327.html Dockerfile其实就是一个文本文件,这个文本文件名称叫Dockerfile,里面包含了一些指令(可以理解成多个指令集合 ...
- Redis性能问题诊断以及scan命令耗时分析
Redis性能问题诊断以及scan命令耗时分析 摘要 最近公司有项目反馈卡顿. 卡顿一小时后自己被拉入群聊. 同事已经基本上定位到问题原因. 我这边想使用朴素的性能观点进行一下性能问题的拆解 为了提高 ...
- 根目录被赋予777 -R权限后的处理过程
解决某研发手残导致的系统宕机问题的处理过程 背景 2022.8.8 公司一台服务器出现了宕机的现象: 所有的人都无法远程, 都提示密码错误. 但是网络还是通的. 2022.8.12 出差前一天去了一趟 ...
- U盘制作linux启动盘
1.前期准备 使用 U 盘安装 Linux 系统,需要准备以下工具: ·大容量的U盘(安装 CentOS 6.x 系统,U 盘容量至少 8 G): ·UltraISO 工具,用来制作 U 盘启动 ...