• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • ORACLE的日志管理

    發表于:2007-07-13來源:作者:點擊數: 標簽:
    ORACLE數據庫的日志文件ORACLE_BASE/admin/orasid/bdump/alert_orasid.log記錄了重作日志的轉換, 數據庫啟動和關閉,數據庫結構的改變,回退段的修改,死鎖,內部錯誤等信息. 數據庫管理員需要檢查這個文件有無ORA-錯誤并定期地對這個日志文件進行存檔整理
    ORACLE數據庫的日志文件$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log記錄了重作日志的轉換,

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



    數據庫管理員需要檢查這個文件有無ORA-錯誤并定期地對這個日志文件進行存檔整理。



    在UNIX下可以用grep命令把alert_orasid.log里出現的錯誤保存到另一個文件。然后去找原因。



    $grep ORA- alert_orasid.log > error.log

    大家都知道,文件越大,其打開和讀寫的開銷越大。如果日志文件太大了(超過5M), 需要對它截斷處理。

    直接刪除它,讓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_BACKUP/network/log/listener_1.log

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



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



    $lsnrctl set log_status on



    如果你會寫簡單的shell程序,可以把上面的步驟固化成一個腳本,定一個時間表, 讓操作系統去做。

    下面是我寫的一個按天分割保存listener.log的文件auto_listener.sh

    -------------------------------------------------------------------------------------

    rq=` date +"%d" `

    cp $ORACLE_HOME/network/log/listener.log $ORACLE_BACKUP/network/log/listener_$rq.log

    su - oracle -c "lsnrctl set log_status off"

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

    su - oracle -c "lsnrctl set log_status on"

    -------------------------------------------------------------------------------------

    你可以根據自己的情況定義環境變量ORACLE_HOME,ORACLE_BACKUP或者直接改成實際的目錄就可以讓

    操作系統root用戶23:59分運行這個shell腳本完成日志文件的分割處理。

    -------------------------------------------------------------------------------------

    Microsoft SQL Server里可以執行系統的存儲過程來分割ERRRLOG日志:

    exec sp_cycle_errorlog

    每次SQL Server數據庫重新啟動時,會自動分割ERRRLOG日志.

      

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>