1. 程式人生 > >oracle日誌機制

oracle日誌機制

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;