2017年4月9日 星期日

REDO、UNDO


  • REDO

    當使用DML指令時,會將我們對資料修改的操作及資料本身寫入Redo Log Buffer在適當的時機(註1)再透過LGWR寫入Redo Log File,然後把資料放進buffer cache再透過DBWR寫入datafile。


  • UNDO

    當我們進行交易時,Oracle會利用Undo Segment來存放異動前後的資料,在交易未Commit前,其他使用者可以在這裡查詢舊資料,如果交易失敗或取消,會回復原先資料。


註1:

  1. 交易確認時
  2. Redo Log Buffer的資料異動量放超過整個Buffer的1/3
  3. Redo Log Buffer的資料異動量超過1MB
  4. 當DBWR將異動的Data Block從Data Buffer Cache寫入Data Files之前

沒有留言:

張貼留言