中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g OCP/OCM、Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验
B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007
微信:jem_db
QQ:2243967774
简介:
通过监听登陆数据库,都会向监听日志文件写日志,并且使用动态监听,
pmon进程会将动态注册的信息写到监听日志文件中去
日志文件达到4G,部分OS达到4G后,不会向监听日志文件写新的内容,故需要清理
本问阐述了11G单实例的监听log处理方法
一、监听的位置
oracle 11g的监听日志和警告日志都是在$ORACLE_BASE/diag/tnslsnr/MES/listener下
其中警告日志在alert目录下,监听日志在trace目录下。

在listener目录下监听日志是一个名为listener.log的文件,
而警告日志log.xml,这个日志每到11M左右就会分割成一个log_XXXX.xml的日志,逐渐累加
要对监听日志文件(listener.log)进行定期清理,如果不定期清理,会遇到下面一些麻烦:
1、监听日志文件(listener.log)变得越来越大,占用额外的存储空间
2、监听日志文件(listener.log)
变得太大会带来一些问题:LISTENER.LOG日志大小不能超过2GB,
超过会导致LISTENER监听器无法处理新的连接
3、监听日志文件(listener.log)变得太大,给写入、查看带来的一些性能问题、麻烦
二、处理过程
[oracle@MES ~]$ find $ORACLE_BASE -name listener.log
/u01/app/oracle/diag/tnslsnr/MES/listener/trace/listener.log

[oracle@MES ~]$ lsnrctl
LSNRCTL> show

监听目前处于正常状态,日志功能也打开,故考虑是监听满导致
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
本文如有错误或不完善的地方请大家多多指正,
留言微信:jem_db 或 QQ:2243967774 皆可,您的批评指正是我写作的最大动力!
大家多多点赞,转发,谢谢
最后修改时间:2021-08-16 09:52:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




