1. 程式人生 > >如何關閉ORACLE監聽器日誌

如何關閉ORACLE監聽器日誌

【問題描述】

資料庫伺服器/home/database分割槽使用率達到100%
/dev/sda6              20G   19G     0 100% /home/database

該分割槽為oracle軟體安裝目錄。

【問題定位】
排查該分割槽中的大檔案/目錄,發現/home/database/oracle/diag/tnslsnr目錄佔用了近8G空間。該目錄下存放了監聽器alert日誌和trace日誌,其中兩個目錄各佔用近4G空間。進入alert日誌檔案目錄,發現該目錄下有大量備份的日誌檔案(每個檔案10M左右),且檔案切換頻率很快,因此懷疑是由於日誌檔案個數太多,增長速度太快導致儲存空間被耗盡。

檢視日誌狀態:
# su - oracle

$ lsnrctl
LSNRCTL> show log_status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter "log_status" set to ON

監聽器日誌狀態為ON。

初步定位原因為,資料庫打開了監聽器日誌之後,資料庫監聽器日誌不斷增長而又沒有進行手動干預,經過長時間累積,大量日誌檔案耗盡了系統儲存空間。

【問題處理】
關閉監聽器日誌:
# su - oracle
$ lsnrctl
LSNRCTL> set log_status off
LSNRCTL> save_config

LSNRCTL> show log_status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter "log_status" set to OFF
上面的修改將立即生效,不需要重啟監聽器。
手動刪除alert目錄下的監聽器日誌。(建議刪除前做好必要的備份)

【問題總結】
1、如果開啟監聽器日誌,需要定期清理監聽器日誌,防止系統儲存空間被佔滿
2、如果監聽器日誌增長速度很快,可以考慮關閉監聽器日誌