设为首页 加入收藏

TOP

Oracle 关于实例恢复的一个讨论
2015-08-31 19:59:59 来源: 作者: 【 】 浏览:95
Tags:Oracle 关于 实例 恢复 一个 讨论

讨论结论:


1.当用户DML语句修改一条记录,记录所在脏块是有可能被写入数据文件(提交时间越长,写入数据文件几率越大),因为DBWn的写触发条件为:每3秒自动唤醒一次;检查点事件;一个服务器进程在规定时间内没有找到空闲块;由上可知,DBWn是否写入,和用户是否提交没有关系;


2.redo log buffer中的记录,也是有可能写入online redo log中,因为LGWR触发条件为:每3秒自动唤醒一次;三分之一满;大小达到1M;commit操作触发;DBWn脏块要写入数据文件中,但是保护该脏块的redo还没写入磁盘,此时会触发LGWR写。由上可知,LGWR的写在未commit的情况下,也可能会写入redo文件。


3.当二者都已写盘,用户发出rollback,则oracle会利用undo块来进行恢复。(undo块也有可能写入磁盘,但是绝对不会被覆盖!)


4.如果此时数据库crash,则oracle会在实例恢复时,先应用redo,进行前滚。前滚完后会进行回滚,将未提交的事务(undo中有记录)进行rollback。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle 常见初始化参数 下一篇Oracle 10g 一主多备的搭建技巧

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: