解决方案一:停止监听器
1)LSNRCTL进入交互模式 cmd 输入 LSNRCTL 2)执行set current_listener LISTENER 3)set log_status off 4)stop 停止监听器 5)手工删除ADR指定的监听日志路径下的listener.log文件 6)start重启监听器 7)status查看状态
解决方案二:脚本定时清除log文件
@echo off rem FileSize以KB为单位指定当日志文件达到多大时进行截断,默认是2GB rem FileBakName指定备份的日志文件名,不能使用全路径! rem FileBak备份日志的文件名,需指定全路径! rem FileName需要截断的日志文件,需指定全路径! set /a FileSize=2*1024*1024 set FileBakName="alter.log.bak" set FileBak="D:工作文档tempalter.log.bak" set FileName="D:工作文档tempalter.log" if exist %FileName% ( for %%i in (%FileName%) do ( set /a CurrentSize=%%~zi/1024 if %CurrentSize% gtr %FileSize% ( if exist %FileBak% ( del %FileBak% ) ren %FileName% %FileBakName% ) ) ) 很原始,只能监控一个日志文件,而且要手动设置几个参数,最后加入到计划任务里面就行了。 这个问题如果是在linux下可以用logrotate工具解决,logrotate是一个让日志文件自动按周期归档的工具,以避免日志文件过大。
Oracle 的listener.log 日志超过4G导致SQL速度极慢,监听命令能执行要10min。
oracle 监听器日志文件过大导致该文件无法更新
windows平台listener.log超过4G导致监听异常 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|