设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
关于INSTANCE RECOVERY过程的理解
返回列表
发新帖
关于INSTANCE RECOVERY过程的理解
[复制链接]
11
|
5
|
2014-2-19 11:55:14
|
显示全部楼层
|
阅读模式
关于INSTANCE RECOVERY你要是想说的简单可以把它描述的十分简单 就是REDO+UNDO
可是具体ORACLE是如何实现的就不清楚了 下面是几个人对于这个过程的描述
wanghai---
1. 增量检查点
在checkpoint queue的基础上实现了增量检查点,每3秒发生一次checkpoint heartbeat,记录dbwr上次写成功的最大RBA(redo block address)。这样的话做instance recovery的时候就从这个rba开始,而不是从上次checkpoint scn开始,大大节省了恢复时间。
2. twice scan of redo log
在应用redo之前,redo将会被操作两次,第一次去扫描哪些redo record需要被应用,因为9i在redo里添加了dbwr写数据块的信息,所以dbwr发生前的日志将不会被应用。第二步就是选出需要被应用的日志然后开始rollforward。
3. rollforward
在做instance recovery时必须先定位到redo log 然后应用所有日志到datafile,这时候包括了committed和uncommitted的数据。当做完rollward,数据库就可以open了。
4. rollback
因为rollforward产生了uncommitted数据,所以必须回滚这些数据。这将由smon和on-demand rollback来实现。smon将会扫描undo segment header去标志所有活动事务为dead,然后会逐渐去回滚这些事务。另外on-demand rollback提供了前台进程进行rollback,当前台进程企图获得被dead事务占用row lock,这时候前台进程将会去undo segment取得before image去回滚这个块,至于其他被这个dead事务lock的块就等待smon去回滚。
kamus---
1. 一个数据块发生更新,必然写回滚
2. 回滚段的block变化也记录在redo中
一份未提交的数据必定在回滚中有相应的前镜像,任何正常的恢复都一定会把这些变化重新构建出来。
想像一下
1. update事务1更新了block 1
2. 回滚段1记录了block1的前镜像
3. checkpoint
4. update事务2更新了block2
5. 回滚段2记录了block2的前镜像
6. instance crash
现在重启数据库
1. 根据redo重新构建block2
2. 根据redo重新构建回滚段2
3. database open
4. SMON用回滚段2的数据回滚block2,SMON用回滚段1的数据回滚block1
最后一步也可能是
在另外一个select检索到block1或者block2的时候,发现这两个block的数据都是未提交的,此时再回滚block1和block2。
所以,只要有相应的回滚数据存在,无论什么时候oracle都可以找到一致的数据,oracle只需要知道这个事务是提交了的还是没提交了的,而这点在block header ITL中有记录。
详细的recovery过程可以下载文档 http://www.inthirties.com/thread-83-1-1.html
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
学习 学习。。。。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
温习一下。。
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
顶起来
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
"在另外一个select检索到block1或者block2的时候,发现这两个block的数据都是未提交的,此时再回滚block1和block2。 "
如果回滚数据的回滚段(undo)被覆盖,怎么来回滚block1,block2,是从redo或者archive log中再来构造undo吗?
回复
使用道具
举报
千问
|
2014-2-19 11:55:14
|
显示全部楼层
>>根据redo重新构建回滚段2
未提交的undo是不会被覆盖的,回滚段里还有block2的前镜像,为什么需要重建?
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
医生,你好,我是宫颈糜烂重度,8月18
2
任苯醚醇可以当做避孕吗?效果好不好
3
今天早上醒来,头就晕,浑身无力,走路都
4
头每天都晕晕的,好像在梦中,喜欢睡觉,
5
我刚用激光照过痘印,痂已经掉了,疤痕精
6
你好,今年20岁这几天月经推迟六七天了
7
不孕?医生你好,导致不孕不育的原因都有哪些?我和老婆结婚
8
济南治疗包皮尖锐疣方法
9
两个星期前游泳耳朵进水后感觉耳闷,两天…
10
女人怀孕四个月打胎有什么危险
11
动态心电图ST事件通道一10通道二13
12
怀孕3个月能做堕胎吗
13
左输尿管下段见一团1.3X0.7CM强
14
早晨血压70120。晚上有时候血压高8
15
胃酸分泌过多会引起饿的快,吃不饱吗,为…
16
优生四项里查出igg、igm呈阳性。最
17
你好我今年32岁了,最近感觉出气辛苦,
18
深圳市龙岗区布吉三维超
19
给狂犬病人摸过伤口的碘伏还能用吗?(当
20
结石康可以和百藓夏塔热片一起吃吗
21
深圳市布吉四维彩超吗
22
可能怀孕的情况下(现在还测不出来)这几天
23
是不是太早了
24
igg.igm呈阳性,最近在备孕,怎么
25
怀孕4个月,彩超显示孕盘过低,脐带绕颈称
26
你好我的是在外阴口阴毛处中间黑色的事黑
27
咳嗽无痰鼻涕是谈黄色
28
打胎打几胎就没有得生
29
您好!我双腿膝盖处酸困是什么原因
30
子宫内膜薄,月经量少,吃了补佳乐,黄体…
31
阳痿治好
32
后脑勺两侧各有一个淋巴结,双耳后侧各有…
33
头上出现2块圆形斑秃咋样治疗注意哪些饮
34
没有副作用也没有依赖性的食物
35
一个月可以堕胎吗
36
保山精索静脉曲张怎么办
37
2015年12月做无痛人流一次现在又做
38
请问下眼睛细菌感染,挂水已经消炎了,但
39
胎儿右肾分裂2.1mm,输尿管反流,这
40
女,20岁,宫寒,请问日常饮食要注意什
41
不疼不痒,有2周左右时间
42
为什么我**岁了都没来
43
吹空调引起背部犯困
44
女婴阴部有小舌头样子的红色嫩肉现在半月
45
我不怀孕为什么我生过小孩
46
总觉得胸前有一口气出不来
47
我抓到一个黄蜂窝听说可以治鼻炎刚好我鼻
48
手指甲前端有一圈浅色带,10个手指甲都
49
副乳切除半年后,腋窝上一点疼痛,怎么回事
50
你好医生,我在怀孕初期吃了三片抗宫炎片
51
医生你好,怀孕十几天做什么手术比较好
52
我女儿昨天还好好的,今早一起床就声音都
53
长长的肉芽样的形状可以用手拿起来好可怕
54
头顶2块圆形斑秃发病大概2月
55
我今年61岁,身体没有其他病。从昨天开
56
深圳市龙华明生
57
我马上高一,假期经不住诱惑,基本上2天
58
保山男性精液有点黄
59
保山精液有点黄怎么回事
60
4个月能打胎吗
61
你好,我月经走了的第五天,小便后用纸擦