您的位置:首页 > 数据库 > Oracle

oracle 实例恢复与介质恢复详解

2009-11-09 10:27 316 查看
oracle 实例恢复与介质恢复详解
实例恢复包含三个过程:前滚(重做)、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 log中,并没有将这些更改写入到数据文件中。
当实例重新启动时,smon将执行实例恢复:
例如:在8:43分重启实例,SMON执行实例恢复,整个执行过程可以分为两个部分:前滚和回滚。前滚是指8:38至8:38:27之间的操作应用到数据文件上,由于这些操作都记录在redo log中,因此只需要从redo log中读取这些操作并执行即可。前滚执行完毕后,数据库处于实例异常关闭前的状态,此时进入回滚阶段是指将未提交的事务回滚,即将示例中T1、T2和T4回滚至此,实例恢复执行完毕,8:45时,数据库正常打开。

介质恢复过程:使用以前备份的数据文件加上归档log文件将数据恢复到现在(一致)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: