MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

ORACLE 体系 - 9

2024-11-26 20:30 huorong 数据库 5 ℃ 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:oracle的定义

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言