实例恢复过程
三个过程: 前滚, DB开启, 回滚
由于故障导致Instance异常关闭或由于执行了shutdown abort/startup force都会导致数据库实例在重启时执行实例恢复,具体就是SMON来完成这个任务了。
例如,用户在8:30触发了5个事务,分别是T1、T2、T3、T4和T5
在8:38之前,T3和T5完成,在8:38产生了一个检查点事件,此时系统将对数据的更改都写入到数据文件中
在8:38:27时,出现实例故障,导致实例异常关闭,8:38至8:38:27之间的操作仅仅记录在了Redo Logs中,并没有将这些更改写入数据文件
当实例重新启动时,SMON将执行实例恢复:
例如:在8:43时重启实例,SMON执行实例恢复,整个执行过程可以分为两个部分:前滚和回滚。前滚是指将8:38至8:38:27之间的操作应用到数据文件上,由于这些操作都记录在Redo Logs中,因此只需要从Redo Logs中读取这些操作并执行即可。前滚执行完毕后,数据库处于实例异常关闭前的状态,此时进入回滚阶段回滚是指将未提交的事务回滚,即将示例中T1、T2和T4回滚
至此,实例恢复执行完毕,8:45时,数据库正常打开。
介质恢复过程: 使用以前备份的数据文件加上归档Log文件将数据恢复到现在(一致)。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84510/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-84510/