Redo和Undo 杂七杂八的东西

当发生数据改变的时候,SGA中对应的DBblock,IDXblock和UNDOblock都被纪录在Redo中。保
留undo的作用:在crash recovery中,系统先roll forward所有的操作,然后使用undo信息
roll back没有提交的操作。

对temporary table的DML操作,不会产生直接redo,但是会产生undo(undo会产生redo).

在正常的操作中,只有对redo log file的写操作(会发生log file
sync事件)。读仅发生在恢复的时候。

当commit的时候,db buffer不会写入db file,实际发生的动作是:LGWR把scn和redo
buffer中相关的剩余信息写入redo file,然后释放lock

redolog切换时发生checkpoint,目的是把被该redo保护的数据写入到数据文件中。dbw完成
脏数 据的写入后,crash recovery就不再需要该redo log file。如果dbw
速度慢,就可能发生checkpoint not completed事件,表示该redo log file还不能被重用

DML操作中,产生undo信息的多少,一般如下 insert < update < delete 。
相同的操作,如果涉及到有index的字段,产生的undo信息大幅度增加

作者:wait4friend
Weibo:@wait4friend
Twitter:@wait4friend
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/wait4friend/p/2334736.html