暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle监听日志清除

IT 邦德 2021-08-16
2530
作者:IT邦德
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g  OCP/OCM、
Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、
国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验

微信;jem_db
QQ交流群:168797397

Oracle 监听日志清除

要对监听日志文件(listener.log)进行定期清理,如果不定期清理,会遇到下面一些麻烦:
1、监听日志文件(listener.log)变得越来越大,占用额外的存储空间
2、监听日志文件(listener.log)
变得太大会带来一些问题:LISTENER.LOG日志大小不能超过2GB,
超过会导致LISTENER监听器无法处理新的连接
3、监听日志文件(listener.log)变得太大,给写入、查看带来的一些性能问题、麻烦

本文阐述了Oracle 11G监听日志的清理的详细过程

oracle 11g的监听日志和警告日志
都是在$ORACLE_BASE/diag/tnslsnr/MES/listener下
其中警告日志在alert目录下,监听日志在trace目录下。

在listener目录下监听日志是一个名为listener.log的文件,
而警告日志log.xml,
这个日志每到11M左右就会分割成一个log_XXXX.xml的日志,逐渐累加

1.定位监听日志位置

[oracle@MES ~]$ find $ORACLE_BASE -name listener.log
/u01/app/oracle/diag/tnslsnr/MES/listener/trace/listener.log

[oracle@MES ~]$ lsnrctl
LSNRCTL> show

监听目前处于正常状态,日志功能也打开,后来一想,原来是日志文件大小已满

2、处理方法

1:首先停止日志
LSNRCTL> set log_status off

2、转移监听日志
到目录$ORACLE_BASE/diag/tnslsnr/MES/listener/trace
[oracle@MES trace]# mv listener.log listener.log.bak

3、开启日志
LSNRCTL> set log_status on

4、重新加载监听器
LSNRCTL> reload

5、目录下重新生成新的日志,压缩保存
[oracle@MES trace]$ tar czvf listener.log.bak.gz listener.log.bak

6、删除原有的日志:
[oracle@MES trace]$ rm -rf listener.log.bak

3、crontab来定时任务清理

使用定时器来清理监听日志文件其实和上面操作类似,脚本如下:
$listener_log.sh
#!/bin/bash

data_name=`date +'%d%m'`

cd /opt/oracle/app/diag/tnslsnr/wskjdb/listener/trace
lsnrctl set log_status off
mv listener.log /tmp/listener.log.$data_name
lsnrctl set log_status on
lsnrctl reload

制定crontab任务:
0 1 * * * /home/oracle/listener_log.sh > /home/oracle/listener_log.log 2>&1

IT邦德网络班开课信息

说明
1.OCM课程约56节课,培训费用5600元,可按需选择学习
若2人团报,费用2500元/人(最大优惠)
凡参加OCM培训的,均赠送Liunx红帽子认证教程全套
2.Mysql OCP实战课程,培训费用500元/人
3.PG实战课程,培训费用500元/人
上课方式:
腾讯会议直播上课,课程均有录屏
如果只想学习其中某个内容,另单独收费
申明:
1.报名后,费用一概不退
2.不能参加直播的学员,提供课程录屏

报名请联系微信:jem_db


文章转载自IT 邦德,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论