这是在网上看到的对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