ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一致读的实现

一致读的实现

原创 Linux操作系统 作者:freezr 时间:2019-06-21 12:18:08 0 删除 编辑

在block head中有ITL,ITL中记录undo block address,transaction ID和SCN.

当查询开始时,记录查询开始时的SCN,用这个SCN和ITL的SCN比较,如果ITL中的SCN比较大,则说明需要一致读。这时,在buffer cache中创建一个CR block,(创建CR block,首先在buffer cache中克隆一个block,然后根据ITL中的undo entries找到相应的undo信息,然后应用这些UNDO信息,注意:CR block的block header也随之恢复)。

然后继续比较SCN号,如果ITL中的SCN号还是大的话,则继续重复以上步骤,直到找到找到需要的版本。如果需要的undo记录已经不存在,则会报告"snapshot too old".

这就是一致读的基本原理过程。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/371/viewspace-234301/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Oracle的授权方式
下一篇: analyze和statistics
请登录后发表评论 登录
全部评论

注册时间:2001-09-28

  • 博文量
    70
  • 访问量
    62291