首页 > 代码库 > Oracle listener.log 清理

Oracle listener.log 清理

在oracle中,如果不对监听日志文件进行截断(定期清理),那么监听日志文件会变得越来越大,由于一些老旧的OS不支持2GB以上的文件,故当listener.log文件超过2GB时,会出现无法处理新的连接,新的操作系统虽然不会出现这个问题,但我们依然需要对其进行定期清理。

查看listener.log日志文件的位置,在RAC数据库中,其位置为:

unixdev$[/grid/app/diag/tnslsnr/unixdev/listener/trace]ls
listener.log

确定日志文件的大小

unixdev$[/grid/app/diag/tnslsnr/unixdev/listener/trace]du -ks listener.log
722795  listener.log

同时,通过上面的命令,我们还可以查看其他文件的大小:

unixdev$[/grid/app/diag/tnslsnr/unixdev/listener]du -ks *
1273999 alert
0       cdump
0       incident
0       incpkg
1       lck
257     metadata
0       metadata_dgif
0       metadata_pv
0       stage
0       sweep
722795  trace

如果觉得listener.log文件较大,我们可以将其清空,主要步骤为:

step1:停止监听服务进程(tnslsnr)记录日志,Oracle 11gR2监听日志存放在grid用户下

su - grid

$lsnrctl set log_status off;

step2:拷贝listener.log文件

$p listener.log data_listener.log

step3:查看该副本内容是否正常

$more date_listener.log

step4:如果副本没问题,则开始清空listener.log

$echo ‘ ’ > listener.log

step5:查看日志是否被清空

$pwd
../listener/trace
$du -ks *

step6:开启监听服务进程(tnslsnr)日志

$lsnrctl set log_status on;

step7:查看监听日志是否正常运行,如果不断更新,说明没问题(假如没人连接数据库,我们是看不到变化的,此时我们可以使用sqlplus连接数据库,看listener.log是否会更新

tail -f listener.log

Oracle listener.log 清理