commit 以后,undo里面的数据是可以被覆盖的,无法保证能rollback。 |
undo 虽然还保存着变更前的数据, 但这些数据的“事物槽”信息已经被更改了, 所以不能ROLLBACK, 想利用这些数据可以用flashback query ! |
这个“事务槽” 可以这样理解: 当事物没提交的时候 “事务槽”的状态就标记为“没提交”, 那么这块回滚段就不能被覆盖, 如果commit了那么“事物槽”的状态就被标记为“已经提交”那么这个回滚段就可以被覆盖了, 具体的标记内容和时机, 你可以dump 一下就非常清楚了!
是ORACLE硬性规定的,若什么时候都可以回滚,那如何确保提交?