Oracle日志文件過大(處理方法)


Oracle日志文件過大

引自:http://space.itpub.net/10640532/viewspace-512116


ORACLE數據庫的日志文件$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log記錄了redo log的轉換

,數據庫啟動和關閉,數據庫結構的改變,undo段的修改,死鎖,內部錯誤等信息.

  DBA需要檢查這個文件有無ORA-錯誤並定期地對這個日志文件進行存檔整理。

  在Linux下我們可以用grep命令把alert_orasid.log里出現的錯誤保存到另一個文件。

  $grep ORA- alert_orasid.log > error.log

  這個文件增長比較快,文件越大,打開和讀寫的開銷越大。如果日志文件太大了(超過5M),需要對它

截斷處理。甚至由於部分OS文件大小的限制,如果文件大於2G,會出現問題。那我們要怎么樣管理這個

文件呢?直接刪除它,讓ORACLE重建當然不好,因為ORACLE是通過一個指向文件的指針進行寫操作的,

如果你是在數據庫運行時刪除了這個文件, ORACLE仍然用原來的文件指針進行寫操作,有可能寫一個不

存在的文件導致硬盤空間占用。

  我們可以采用以下的方法:

  $tail -100 $ORACLE_BASE/admin/orasid/bdump/alert_orasid.log > /tmp/oracle_temp.log

  $cp /tmp/oracle_temp.log $ORACLE_BASE/admin/orasid/bdump/alert_orasid.log

  $rm /tmp/oracle_temp.log

  對日志文件進行截斷處理。

 

  listener的日志文件$ORACLE_HOME/network/log/listener.log記錄了通過listener處理的網絡請求

信息,它包含客戶端請求的時間,連接方式(專用或共享),連接程序,網絡協議,主機名,網絡端口號

等信息。

  我們也需要周期地截斷它,方法是先停止listener記日志的工作:

  $lsnrctl set log_status off

  然后進行文件處理(把原來的日志保存到備份文件夾,使原來的listener.log置空)

$cp $ORACLE_HOME/network/log/listener.log $ORACLE_ HOME/network/log/listener_1.log

$cp /dev/null $ORACLE_HOME/network/log/listener.log

  文件操作完成后,打開listener記日志的工作:

  $lsnrctl set log_status on


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM