oracle 11g的监听日志和警告日志都是在/opt/oracle/app/diag/tnslsnr/机器名/listener目录
其中警告日志在alert目录下,监听日志在trace目录下。
listener目录下产生的日志文件比较大,是主要清理的对象。在listener目录下监听日志是一个名为listener.log的文件,而警告日志log.xml,这个日志每到11M左右就会分割成一个log_XXXX.xml的日志,逐渐累加。
- 随着警告日志和监听日志越来越大,占用本来就不多的存储。
- 监听日志(listener.log) 不得超过2G, 会无法处理新连接。
- 监听日志(listener.log) 太大,性能会有影响,肯能无法写入,同2。
清理监听告警日志
find . -mtime +30 -type f -name "log_*.xml" -exec cp {} /u02/dump/listenerbak/ ; --将超过30天的监听告警日志,备份到/u02 目录下。
find . -mtime +30 -type f -name "log_*.xml"| xargs rm -rf --备份后删除就好
注: 不要干掉log.xml 文件。
清理监听日志
这里只显示RAC环境的清理例
一、 直接删除或移走,需要重启监听
lsnrctl 命令行
set current_listener listener_scan1
set log_status off
cat /dev/null > listener_scan1.log
set log_status on
reload
show log_status
二、 直接清空(不是删除),先保存一些数据(按需)再清空
cp listener.log listener.log_bak
> listener.log