• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle实例恢复的原理

mysql 搞代码 4年前 (2022-01-09) 11次浏览 已收录 0个评论

简单分析一下Oracle数据的实例恢复当数据库突然崩溃,例如突然掉电,硬件故障等 ,还没来得及将buffer cache里面的脏数据块写入到

简单分析一下Oracle数据的实例恢复

当数据库突然崩溃,例如突然掉电,硬件故障等 ,还没来得及将buffer cache里面的脏数据块写入到数据文件中,同时在实例崩溃时,运行的事物也突然被中断,这时候事物是出于中间状态的,既没有提交也没有回滚,这个时候数据文件是不一致的状态。

当修复完故障启动实例的时候,Oracle的S

本文来源gaodai^.ma#com搞#代!码网

MON进程会执行实例恢复,检查控制文件中的STOP SCN号(SCN 有四种1:系统SCN 2:数据文件SCN 3:启动SCN号 4: 终止SCN号) 数据库在正常运行中终止SCN号始终是空的,当数据库正常关闭的时候,会进行完全检查点,并将SCN号更新。当实例崩溃的时候,Oracle还没来得及更新终止SCN号的时候,这时候终止SCN号是空的,当SMON进程检查该终止SCN号是空的,就认为数据库没有正常关闭,于是开始了实例的恢复。

SMOIN进行实例恢复的时候,会从控制文件中查找检查点位置,根据在控制文件中查找到的检查点位置到联机日志文件中搜索这一位置,然后从该位置开始应用重做条目。重现实例崩溃的那个时间点的状态,这个过程叫做前滚,等待前滚完毕,,数据库缓存中会有已经提交的和没有提交的脏数据块。 SMON进程实例恢复完成,并打开数据库,没有被提交的数据将被回滚。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle实例恢复的原理
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址