listener日志文件位于Oracle主目录下的network/log文件夹下。例如在我的机器上这个目录是D:/oracle/product/10.2.0/db_1/NETWORK/log,文件名listener.log。该文件记录了客户端每一次连接。如果该文件太大的话可能造成用记事本无法打开的情况,甚至造成连接异常或数据库无法启动。因此管理员必须定期清理该日志文件。当然在监听启动状态下直接删除或做其他操作可能会引起监听异常,必须首先使用lsnrctl set log_status off命令 关闭监听写日志,然后再做删除,之后再用 lsnrctl set log_status on 命令,监听会创建一个新的listener.log文件。下面给出了windows命令行脚本,用于备份监听日志,将下面代码保存到批处理文件,并在计划任务中定期执行该批处理文件就行了。
lnrctl set log_status off
rename D:/oracle/product/10.2.0/db_1/NETWORK/log/listener.log listener_bak_%date:~0,10%.log
lsnrctl set log_status on