關於前滾(roll forward)和回滾(roll back)
1:roll forward : 將已經寫入redo log file 中但是沒有寫入datafile中的提交與未提交的資料寫入資料檔案 。 屬於例項恢復,一般在資料庫開啟的時候進行(前滾時資料庫還沒有open )。
2:rollback : 在資料庫開啟之後,oracle會查詢redo log file中記錄的commit maker ,根據undo block中的內容將它回滾到一致的狀態。
在一個事務發生的時候, Oracle會先將對應的redo 寫到log buffer, 再生成相應的undo, 將undo 的redo寫到redo log buffer,再對當前的資料塊做變更,redo log buffer在一定的條件下寫到redo log file,在使用者commit的時候, 系統會將當前log buffer中的所有的redo entry都寫到redo log file中, 不管是不是當前事務產生的redo, 同時會將當前commit的commit marker也寫到redo log file中.
對應與上面的情況, commit已經發出, 可能正在寫redo log, 當時commit marker還沒寫,這樣在做instance recovery的時候會將這些redo log先forward到buffer cache中, datablock 與undo block都forward到buffer cache中, 再檢查沒有commit的事務, 將這些事務rollback, 我們上面的第一個問題, 因為對應的commit marker沒有寫到redo log file中, 這樣對應的事務就是沒有commit的事務, 系統會根據undo block中的內容將其回滾到一個一致的狀態.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-582477/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle前滾和回滾Oracle
- ORACLE 前滾和回滾Oracle
- 關於oracle例項恢復的前滾和回滾的理解Oracle
- 例項恢復(Instance Recovery)之前滾(Rolling Forward)和回滾(Rolling Back)Forward
- Using RMAN Incremental Backups to Roll Forward a Physical Standby DatabaseREMForwardDatabase
- Recover physical standby database after loss of archive log – roll forward(轉)DatabaseHiveForward
- Oracle例項恢復——說說前滾和回滾Oracle
- 查詢user使用那些roll segment以及等待roll segment
- 關於事務回滾註解@Transactional
- 回滾操作、回滾段的理解
- 關於Spring事務回滾的問題Spring
- T-SQL——關於事務回滾的方式SQL
- 關於ORACLE大型事務回滾的幾個點Oracle
- Oracle提交和回滾處理Oracle
- Roll-out 專案注意事項
- ORA-25402 transaction must roll back 且無法找到SID來處理的問題
- oracle回滾溯源Oracle
- ORACLE回滾段Oracle
- Cesium 根據飛機航線計算飛機的Heading(偏航角)、Pitch(俯仰角)、Roll(翻滾角)
- 請教一下關於回滾段的擴充套件和收縮!套件
- Oracle 回滾(ROLLBACK)和撤銷(UNDO)Oracle
- MySQL:Innodb DB_ROLL_PTR指標解析MySql指標
- 資料庫startup啟動時前滾回滾進行例項恢復的理解資料庫
- Oracle 資料回滾Oracle
- Mac回滾iTunes版本Mac
- MONGODB 回滾失敗MongoDB
- ORACLE回滾段(1)Oracle
- ORACLE回滾段(2)Oracle
- ORACLE回滾段(轉)Oracle
- ORACLE回滾段管理Oracle
- 入門Kubernetes - 滾動升級/回滾
- 關於現代瀏覽器的 back-and-forward 快取機制瀏覽器Forward快取
- SQL code----檢視回滾段名稱及大小 回滾段的管理SQL
- Spring Boot 事物回滾Spring Boot
- java 事務提交/回滾Java
- ORACLE 回滾段詳解Oracle
- 拉鍊表的建立、查詢和回滾
- MySQL實現事務的提交和回滾MySql