ORACLE 清理监听日志
最近同事离职,原本他负责的这块业务即将下线,所以一直没有空上监控,今天突然发现监听和归档日志快把磁盘撑满了,赶紧把重要的业务都扫一遍。
不停库清理监听日志
1:首先停止监听服务进程(tnslsnr)记录日志。
lsnrctl set log_status off;
2:将监听日志文件(listener.log)复制一份,以listener.log.yyyymmdd格式命名
cp listener.log listener.log.20191209
3、将监听日志文件(listener.log)清空。清空文件的方法有很多
cat /dev/null > listener.log
或echo “” > listener.log
或cp /dev/null listener.log
4:开启监听服务进程(tnslsnr)记录日志
lsnrctl set log_status on;
对于这种listener.log增长非常迅速的系统,可以关闭监听日志lsnrctl set log_status off,不让监听写日志到文件。也可以写个job定期清理。
rq= date +"%d"
cp $ORACLE_HOME/network/log/listener.log $ORACLE_BACKUP/network/log/listener_$rq.log
su - oracle -c "lsnrctl set log_status off"
cp /dev/null $ORACLE_HOME/network/log/listener.log
su - oracle -c "lsnrctl set log_status on"
如果是RAC环境需要登录到grid用户清理listener.log和listener_scan1.log日志。
评论已关闭