Oracle監聽器日志文件是一個大小是一直不斷增長的純文本文件。一般都會檢查監聽器是否有異常停止,是否有惡意攻擊連接等。
當這個文件特別大的時候,打開和浏覽文件內容時可能比較慢,這時可能會想到將當前的日志文件備份一下,然後重新創建一個新的日志文件。但Oracle監聽器在運行時是不允許對其日志文件做刪除,重命名操作,於是只有停止Oracle監聽器,重命名後,再啟動Oracle監聽器,啟動時會自動創建一個新的監聽器日志文件,但這樣客戶端連接就會斷開,本文介紹一種方法在不停止監聽器的情況下,重命名Oracle監聽器日志文件。
在Windows平台下:
- C:\> cd \Oracle\ora92\network\log #切換到監聽器日志文件所在目錄
- C:\Oracle\ora92\network\log> lsnrctl set log_status off #將監聽器日志文件暫時脫機
- C:\Oracle\ora92\network\log> rename listener.log listener.old #重命名日志文件,可以加上日期
- C:\Oracle\ora92\network\log> lsnrctl set log_status on #將監聽器日志文件聯機,會自動重新創建一個新的日志文件
在Linux/Unix平台下:
- % cd /u01/app/Oracle/product/9.2.0/network/log
- % lsnrctl set log_status off
- % mv listener.log listener.old
- % lsnrctl set log_status on
這樣重命名後,就可以將listener.old拷貝到DBA的工作電腦上進行深入分析,當遇到黑客攻擊時,還可以保留該文件作為證據。