|
ORACLE在媒介恢复时必须要根据REDO LOG的记录对数据文件和回滚段都进行重写,只有这样才能对正常操作中的一个ROLLBACK动作进行恢复,也就是在RECOVER过程中必须利用当时重写的数据块和回滚段才能重构出一个当时适用的前镜像来rollback,否则,想仅依靠原来回滚段老的数据是无法实现的,因回滚段是循环使用的,对于已经COMMIT的记录的回滚段是可以被覆盖的,如果存在这种情况,将找不到所需要的数据,RECOVER就无法进行下去。
回滚段的最大的作用不是用在恢复上而是解决了写入器不阻塞读取器,这是其它数据库所办不到的,不能说全是优点,其实各有利弊。TOM的新书上就有一个很好的例子。
另外回滚段应该是有BUFFER的,而且是在产生REDO BUFFER之前就要写入磁盘上的,否则REDO LOG中就无法记录UBA。 |
|