標籤:
1.Redo log特點
- 重做日誌以磁碟I/O為主,將資料庫操作記錄到記錄檔。(磁碟I\O效能有可能成為瓶頸)
- 每個執行個體只有一個活動的LGWR(log writer)進程,至少有兩個日誌組(logfile group),每個日誌組至少一個記錄檔,同一日誌組多個記錄檔內容相同,互為鏡像。
- 當一個日誌組寫滿時,LGWR自動切換至下一個日誌組,覆蓋記錄檔內容,繼續寫入。(頻繁的日誌切換可能影響效能)
- 當切換到新的日誌組時,如果DBWR(db writer)尚未將所有修改寫入資料檔案,LGWR將等待寫入完成。(DBWR的寫入速度可能導致效能瓶頸)
- 增大記錄檔可以減少日誌切換頻率,但會增加資料恢複的時間,同時,當記錄檔損壞時,將會丟失更多的資料。
2.記錄檔切換時間查詢
1 Select a.sequence#, b.sequence#, a.first_time, b.first_time,2 round((a.first_time-b.first_time)*60*60*24,2) timeInterval3 from v$log_history a4 left join v$log_history b5 on a.sequence#=b.sequence#+1 and a.thread#=b.thread#
(Oracle建議記錄檔切換時間為20分鐘,調整記錄檔大小以改變這一時間)
3.Redo log最佳化
- 同一日誌組的記錄檔分別放在不同的磁碟上,減少記錄檔寫入、日誌切換時的競爭。
- 適當增大記錄檔可以降低日誌切換頻率和LGWR等待DBWR的幾率。
- 將記錄檔放於RAID10或RAID0磁碟陣列中以提高寫入效能。
- 增加DBWR進程數,提高資料寫入效能。
4.建立、切換、刪除記錄檔組
調整記錄檔大小隻能通過,建立新的記錄檔組,切換記錄檔組,刪除舊的記錄檔組的方式進行。
建立記錄檔組
1 alter database add logfile group 4(‘D:\redo4.log’) size 1024M reuse;
查看記錄檔組狀態切換記錄檔組
1 select group#, status from v$log;
刪除記錄檔組(切換至INACTIVE狀態再進行刪除)
alter database drop logfile group 1;
ORACLE重做日誌小結