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 ...
随机推荐
- P2895(未解决)
这是一道略复杂的常规BFS题,但我想用DFS来解决,结果写出代码却总是主函数异常返回,不知哪里错了,检查半天也没发现,以后再看看吧. Code #include<iostream> #in ...
- I/O多路复用与socket
前言 简单来讲I/O多路复用就是用一个进程来监听多个文件描述符(fd),我们将监听的fd通过系统调用注册到内核中,如果有一个或多个fd可读或可写,内核会通知应用程序来对这些fd做读写操作,select ...
- Spring AOP原来是这样实现的
Spring AOP 技术实现原理 在Spring框架中,AOP(面向切面编程)是通过代理模式和反射机制来实现的.本文将详细介绍Spring AOP的技术实现原理,包括JDK动态代理和CGLIB代理的 ...
- 基于python+django的外卖点餐网站-外卖点餐系统
该系统是基于python+django开发的外卖点餐系统.适用场景:大学生.课程作业.毕业设计.学习过程中,如遇问题可以在github给作者留言. 演示地址 前台地址: http://food.git ...
- 基于AHB_BUS的eflash控制器设计-02
基于AHB-BUS的eflash控制器设计 1.Flash Spec 1.1 地址映射 XADR是10bit?因为一共有1024行 每一行128byte容量,每次读取的粒度就是一个double wor ...
- 【BAT】递归替换文件后缀
@echo off set /p src_suffix=please input origin suffix: set /p des_suffix=please input target suffix ...
- 面试官:小伙子来说一说Java中final关键字,以及它和finally、finalize()有什么区别?
写在开头 面试官:"小伙子,用过final关键字吗?" 我:"必须用过呀" 面试官:"好,那来说一说你对这个关键字的理解吧,再说一说它与finally ...
- K8S_IPV6 POD与数据库联通方法以及快速网络调试的一个思路
K8S_IPV6 POD与数据库联通方法以及快速网络调试的一个思路 背景 前端时间搭建了一套K8S only IPV6 Single Stack的测试环境 因为自己长时间不搞K8S了, 并且IPV6的 ...
- [转帖]Module ngx_http_v2_module
https://nginx.org/en/docs/http/ngx_http_v2_module.html#:~:text=Sets%20the%20maximum%20number%20of%20 ...
- [转帖]python字符串如何删除后几位
https://www.python51.com/jc/15070.html 1.首先在jupyter notebook中新建一个空白的python文件: 2.然后定义一个字符串,用字符串截取的方式打 ...