Oracle的监听日志listener.log当增长到一定大小时,会造成后续的日志无法写入,但不会报任何错误。
在笔者遇到的情况中,有时listener.log增长到4G,新的日志便无法写入,但有些时候listener.log增长到10G以上,仍然能正常写入。
这大概是Oracle的一个BUG。

监听日志的清理

直接删除或使用echo清理监听日志,会造成日志无法被写入的情况。正确的清理方法如下:

su - grid
##停止监听日志写入
lsnrctl set log_status off
##备份监听日志【如果不需要备份可忽略此步骤】
tail -100000 listener.log >>listener.log.bak
##清空监听日志
echo "" > listener.log
##开启监听日志写入
lsnrctl set log_status on