清理监听日志处理的方法
1:首先中止监听服务进程(tnslsnr)记录日志。
lsnrctl ?set log_status off;?oracle
2:将监听日志文件(listener.log)复制一份,以listener.log.yyyymmdd格式命名
cp listener.log listener.log.20150622.net
三、将监听日志文件(listener.log)清空。清空文件的方法有不少
cat /dev/null > listener.log日志
4:开启监听服务进程(tnslsnr)记录日志
lsnrctl set log_status on;xml
对于这种listener.log增加很是迅速的系统,能够关闭监听日志lsnrctl ?set log_status off,不让监听写日志到文件。也能够写个job按期清理。blog
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"进程
监听日志文件改变:
11g开始引入ADR,监听日志就从原来的$ORACLE_HOME/network/log/listener.log变为了$ORACLE_BASE/diag/tnslsnr/hostname/listener/alert/log.xml
$ORACLE_BASE/diag/tnslsnr/hostname/listener/alert 目录下的xml文件以每一个10m的方式在不停增多,以前简单的只按期清理
$ORACLE_HOME/network/log/listenr.log变为还需多清理alert目录下的
C:\Documents and Settings\Administrator>lsnrctl status
若要变回老的方式,需在 listener.ora文件添加以下行DIAG_ADR_ENABLED_listener = OFF ?注意,红色部分是监听名,需替换实际的监听名字。date
C:\Documents and Settings\Administrator>lsnrctl reloadnetwork
DIAG_ADR_ENABLED_LISTENER=OFF
DIAG_ADR_ENABLED_LISTENER_SCAN1=OFF
INBOUND_CONNECT_TIMEOUT_LISTENER = 110
INBOUND_CONNECT_TIMEOUT_LISTENER_SCAN1 = 110
转摘自 https://blog.csdn.net/wll_1017/article/details/46637057方法