oracle前滾和回滾

urgel_babay發表於2016-02-29
2015.03.18
經常搞混淆oracle的前滾和回滾,不留神就說反了

前滾

         未完全提交的事務,即該事務雖然已經被執行commit命令了,但是這個事務修改所對應的髒資料塊中只有一部分被寫到磁碟上的資料檔案中,還有一部分已經被置為提交標記的髒塊還在記憶體上,如果此時資料庫例項崩潰了,則當資料庫例項恢復時,就需要用前滾來完成事務的完全提交,讀取redo日誌上的記錄,把之前那部分已經被置為提交標記且還在記憶體上的髒塊寫入到磁碟上的資料檔案中。

回滾

        未提交的事務,即該事務未被執行commit命令。但是此時,該事務修改的髒塊中也有可能一部分髒塊寫入到資料檔案中了。如果此時資料庫例項崩潰了,則當資料庫例項恢復時,就需要用回滾來將先前那部分已經寫入到資料檔案的髒塊從資料檔案上撤銷掉。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2016669/,如需轉載,請註明出處,否則將追究法律責任。

相關文章