11g开始引入ADR,监听日志就从原来的$ORACLE_HOME/network/log/listener.log变为了 $ORACLE_BASE/diag/tnslsnr/hostname/listener/alert/log.xml
当然也存在一份$ORACLE_BASE/diag/tnslsnr/hostname/listener/trace/listener.log(此处listener.log的名字是根据监听名字决定的,比如我的监听叫TEST,此处就是test.log)
有个问题是,$ORACLE_BASE/diag/tnslsnr/hostname/listener/alert 目录下的xml文件以每个10m的方式在不停增多,之前简单的只定期清理$ORACLE_HOME/network/log/listenr.log变为还需多清理alert目录下的。
若要变回老的方式,需在 listener.ora文件添加如下行
DIAG_ADR_ENABLED_listener = OFF
注意,红色部分是监听名,需替换实际的监听名字。
然后lsnrctl reload listenr即可。
oracle@bcv:/oracle
$lsnrctl
reload
LSNRCTL
for
IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production on 27-AUG-2013 11:13:13
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bcv)(PORT=1521)))
The command completed successfully
oracle@bcv:/oracle
$lsnrctl
status
就可以了。
参考文档:How To Change the Listener Log Filename Without Stopping the Listener (文档 ID 135063.1)
http://www.harryzhang.net/2013/08/27/harry%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E4%B9%8B-%E8%B0%83%E6%95%B411g%E7%9B%91%E5%90%AC%E6%97%A5%E5%BF%97%E7%9A%84%E5%AD%98%E6%94%BE%E4%BD%8D%E7%BD%AE/