缘起于同事做的一个监控,发现监控脚本找不到listener log,那么listener log到底去哪里了,是因为什么因素导致去了不同的位置,且听我慢慢道来。
在11g之前,listener log还是比较固定的呆在$ORACLE_HOME/network/log下,是一个安安静静的美男子。但是在11g之后,引入了diag目录,listener log就变成了闷骚男,时而去去老王家,时而逛逛老张家。
研究发现,listener log的路径变化,和几个因素有关:
(1)DIAG_ADR_ENABLED_<lsnr_name>
(2)ADR_BASE_<lsnr_name>
(3)$ORACLE_BASE
由于上面的几个因素,可以导致listener log会去如下目录:
(1) $ORACLE_HOME/network/log
(2)ADR_BASE_<lsnr_name>/diag/tnslsnr/<hostname>/<lsnr_name>/trace
(3)$ORACLE_BASE/diag/tnslsnr/<hostname>/<lsnr_name>/trace
(4)$ORACLE_HOME/log/diag/tnslsnr/<hostname>/<lsnr_name>/trace
它们之间纠结的关系,如下图: