按說commit後,undo裏還保存着變動前的數據,爲何不能rollback了?

commit 之後,undo裏面的數據是能夠被覆蓋的,沒法保證能rollback。
undo 雖然還保存着變動前的數據, 但這些數據的「事物槽」信息已經被更改了,  因此不能ROLLBACK, 想利用這些數據能夠用flashback query !

這個「事務槽」 能夠這樣理解:  當事物沒提交的時候 「事務槽」的狀態就標記爲「沒提交」, 那麼這塊回滾段就不能被覆蓋, 若是commit了那麼「事物槽」的狀態就被標記爲「已經提交」那麼這個回滾段就能夠被覆蓋了,  具體的標記內容和時機, 你能夠dump 一下就很是清楚了! spa

是ORACLE硬性規定的,若何時均可以回滾,那如何確保提交?
orm

相關文章
相關標籤/搜索