oracle日誌機制
阿新 • • 發佈:2018-11-04
1、已經提交的事物不會丟失:commit ---->把該事物產生的所有日誌寫入redo log中後才結束(LGWR)
---實現了事物的快速提交,寫完日誌就可以了,事務提交完畢,而不用著急寫髒塊
2、LGWR繞過OS快取直接寫入磁碟,寫入到儲存的寫快取中,而且log buffer寫磁碟是順序寫,基本沒有尋道時間,所以很快。
3、LGWR的觸發條件:
①commit
②有1/3重做日誌快取區未被寫入磁碟
③有大於1M的重做日誌緩衝區未被寫入磁碟
④每隔3秒
⑤DBWR需要寫入的資料的SCN大於LGWR記錄的SCN,DBWR觸發LGWR寫入
4、在OLTP 系統上,REDO LOG 檔案的寫操作主要是小型的,比較頻繁,一般的寫大小在幾K,而每秒鐘產生的寫IO 次數會達
到幾十次,數百次甚至上千次。因此REDO LOG檔案適合存放於IOPS 較高的轉速較快的磁碟上,IOPS 僅能達到數百次的SATA
盤不適合存放REDO LOG 檔案。另外由於REDO LOG 檔案的寫入是序列的,因此對於REDO LOG檔案所做的底層條帶化處理,
對於REDO LOG 寫效能的提升是十分有限的。
5、REDO LOG 切換的時間應該儘可能的控制在10-20 分鐘
select to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') f_time,SEQUENCE# from v$log_history;