這是在網上看到的對redo和undo的探討:
1.
redo??記錄所有做過的事情,用于恢復
undo 記錄事務的前鏡相,用于回滾
2.
redo,恢復數據庫時,按照重做日志文件來恢復你之前的操作
undo,撤消你做過的操作,比如你錯誤的drop table,需要undo這個操作
3.
摘錄于:http://www.itpub.net/789065.html
1.
redo??記錄所有做過的事情,用于恢復
undo 記錄事務的前鏡相,用于回滾
2.
redo,恢復數據庫時,按照重做日志文件來恢復你之前的操作
undo,撤消你做過的操作,比如你錯誤的drop table,需要undo這個操作
3.
undo主要用于DB運行期間的DML,當一條dml語句執行以后,因為某種原因需要rollback,此時會用到undo
redo的前滾發生在instance recovery時,當你執行一條dml并commit以后,此時oracle會將數據寫到current online redolog,但并沒有寫入datafile,如果此時發生instance failure,將會引起不一致現象,這是oracle就要根據redo中的記錄進行前滾以保持數據的一致性
redo的前滾發生在instance recovery時,當你執行一條dml并commit以后,此時oracle會將數據寫到current online redolog,但并沒有寫入datafile,如果此時發生instance failure,將會引起不一致現象,這是oracle就要根據redo中的記錄進行前滾以保持數據的一致性
摘錄于:http://www.itpub.net/789065.html