Oracle DB的listener.log清理

 查看日志位置:lsnrctl status

執行指令後,如以找到下列的訊息,就是log file的位置:
Listerer Log File   /erptest/test/11.2.0/log/diag/tnslsnr/13R11/test/alert/log.xml

進入log file的目錄,可以發現有許多的xml檔,它就是log檔,檔名log.xml就是目前使用中的log,其他都是自動備份的log:

除了使用中的log.xml之外,其他的都可以刪掉:rm -f log_*.xml

剛才我們處理的是在alert這個目錄下的log檔,接著我們要處理另一個位於trace目錄下的listerner.log,我們這邊是test.log

關閉listener日誌寫入,這裡只關閉log的寫入,所以listener的監聽服務不會停用:lsnrctl set log_status off

如果資料庫有多個listener,則改以下列方式更改:
1、進入lsnctl command模式,指令:lsnrctl
2、指定要設定的listerer name: set CURRENT_LISTENER

上面兩個指令操作如下:

$ lsnrctl

LSNRCTL for Solaris: Version 11.2.0.4.0 - Production on 21-MAR-2024 09:39:13

Copyright (c) 1991, 2013, Oracle.  All rights reserved.
  
Welcome to LSNRCTL, type "help" for information.
  
LSNRCTL> set CURRENT_LISTENER TEST

Current Listener is TEST


先備份log檔:mv listener.log listener.log_bk

重新啟動listener日誌寫入,會自動產生一個新的listener.log檔:lsnrctl set log_status on

沒問題之後再刪掉備份的log檔:rm -i  listener.log_bk