分类: Oracle
Oracle清理截断监听日志文件listener.log

在ORACLE数据库中,如果不对监听日志文件(listener.log)进行截断,那么监听日志文件(listener.log)会变得越来越大,在老爷机32bit Linux或Unix系统下面,超过2G以后会导致监听服务进程(tnslsnr)append write日志文件出错,原因是一些32bit OS自带的文件系统不支持2GB以上的文件,所以会报错;

listener.log日积月累会越来越大,主要是影响写入性能,当然也占用空间;

清理方法如下:
切换到oracle用户下:

cd /oracle/app/oracle/diag/tnslsnr/pldb1/listener/trace //进入监听日志目录
lsnrctl set log_status off; //停止监听服务进程(tnslsnr)记录日志
mv listener.log listener.log_bak
lsnrctl set log_status on; //启动监听服务进程记录日志

用ls查看会在当前目录下生成一个新的listener.log文件,rm或mv走之前的listener.log_bak文件即可;

也可以不停止tnslsnr服务,直接

cat /dev/null > listener.log

即可,会清空listener.log的文件内容。
当然也可以直接写成shell脚本,crontab定期执行下;


相关博文:

发表新评论