關閉listener的log監控


DB:Oracle 11gR2(11.2.0.1)

今天學習關閉listener的log監控時,發現找不到預設的log檔。
預估的路徑:$ORACLE_HOME/network/log/listener.log
於是到 Listener的管理介面去找:

[oracle@oel62 log]$ lsnrctl
LSNRCTL> show log_status
LISTENER parameter "log_status" set to ON
我的log狀態是開啟的。

LSNRCTL> show log_file
LISTENER parameter "log_file" set to /opt/oracle/diag/tnslsnr/oel62/listener/alert/log.xml
路徑與檔名都不一樣了

離開Listener的管理介面,回到Linux下。
LSNRCTL> quit

先到再到/opt/oracle/diag/tnslsnr/oel62/listener/alert,
去記錄log.xml的檔案大小,接著在Client端用Sqlplus連線進去資料庫,
果然檔案大小變大,內容也增加連線的訊息。

回到Listener的管理介面,並且把log給關閉
[oracle@oel62 log]$ lsnrctl
LSNRCTL> set log_status off
LISTENER parameter "log_status" set to OFF

再到/opt/oracle/diag/tnslsnr/oel62/listener/alert,
去記錄log.xml的檔案大小,接著在Client端用Sqlplus連線進去資料庫,
果然檔案大小都沒有改變,內容也沒有再增加。

會學習關閉log的原因,是因為當連線是短期且非常頻繁的話,log的成長會很驚人,
當然也可以用Shell Script來定期清除它。