首页
技术基础
备份恢复
SQL优化
诊断案例
BLOG
留言板
服务
生活
网摘
阅读
下载
墨天轮
English
eygle.com - 留言簿 - 回复留言 - Powered by eYgLe.Com
返回留言簿
回 复 留 言
留言ID:
留言原文:
To
:
盖老师
DBWR在写数据到磁盘的时候,CKPT每3秒钟查看一下DBWR沿检查点队列写到了哪里,并且将这个位置设置为检查点位置,并记录在控制文件中。那么假如,DBWR写了2秒的时候突然宕机了。oracle是用什么策略恢复的?从哪个点开始跑日志?那个点记录在哪里?是最后一个检查点对应的RBA吗?但是那个RBA已经不再跟数据库同步了呀,因为dbwr又写了2秒,ckpt却还没来得及更新检查点位置。
From
:
小方
2013.09.23 18:49
管理密码:
请输入管理密码, 否则无法回复.
斑竹昵称:
信息图标: ( 随机 )
BB 代码:
字体
宋体
黑体
隶书
楷体
幼圆
Arial
颜色
天蓝
品蓝
蓝色
深蓝
橙色
橙红
深红
红色
砖红
暗红
绿色
灰绿
海绿
粉红
果红
桃红
紫色
紫蓝
棕木
沙褐
土黄
深褐
土绿
灰色
大小
1号
2号
3号
4号
5号
内容:
如果想删除回复, 请点击最下面的删除回复按钮.
从low-cache rba开始恢复啊,只要是提交成功的,就已经记录了Redo日志,下次可以根据提交是否成功进行事务重演。DBWR写的是DB Block,通过redo能够重演事务。 如果DBWR写出了,但是相应的RBA没有记录到控制文件,这是没有关系的,脏数据写到文件,提交和未提交都有可能,必须以来Redo来进行判断。 当然,Oracle会有非常细粒度的检查,比如判断最后一个写是否成功: http://www.eygle.com/archives/2010/05/ora-00600_kcratr1_lostwrt.html
删 除 回 复
管理密码:
请输入管理员密码, 只有版主才能删除回复.
Copyright © 2003~2012
eygle.com
All Rights Reserved.
Powered by:
www.eygle.com