专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

ORACLE 体系 - 9 oracle12c体系结构

ins518 2024-10-25 14:14:43 技术文章 10 ℃ 0 评论

【九】实例恢复机制

9.1什么是实例恢复

有了redo,undo和增量ckpt概念后,有助于更好地理解实例恢复。

1)背景:当实例崩溃发生时,内存数据丢失,而当时的内存中db buffer和磁盘上的datafile内容不一致。

2)要解决两个问题:

①重新构成崩溃时内存中还没有保存到磁盘的已commit的变更块。

②回滚掉已被写至数据文件的uncommit的变更块。

9.2增量检查点发挥的作用

每当增量检查点触发时,一部分dirty buffer被刷新到磁盘,并记录了最后一次检查点位置。当实例恢复时,Oracle首先从控制文件里找到最后一次检查点位置,这个位置其实就是实例恢复时运用日志的起点(RBA),然后是smon监控下的一系列动作:

1)roll forward

利用redo,将检查点位置之后的变更,包括commit和uncommit的都前滚出来了,然后统统写到磁盘(datafile)里。

2)open

用户可以连接进来,访问数据库。

3)roll back

回滚掉数据文件中未提交的数据。

the end !!!

@jackman 共筑美好!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表