zoukankan      html  css  js  c++  java
  • oracle检查点队列(checkpoint queue)

    buffer cache

    CBC链 按地址链

    LRU  干净buffer

    LRUW  脏buffer  按照冷热

    checkpoint queue:链buffer,①链脏块②按buffer第一次脏的时间链起来

    RBA :Redo Block Address

    LRBA:块第一次脏的地址

    HRBA:块最近一次脏的地址

    检查点队列按照buffer的LRBA地址链起来

    ckpt进程

    1,完全检查点  触发DBWR把所有脏块写会数据文件  

               关闭数据库的时候会发生

    2,增量检查点   将检查点队列的第一个块所对应的日志地址(LRBA)记录到控制文件

                每隔3秒钟

    on disk rba  current日志里面的最后一条日志的地址

    脏块所对应的事务已经提交 

    脏块所对应的事务还没提交

    脏块所对应的日志还在log buffer,说明脏块对应的事务还没有提交,认为对这个脏块的修改没发生过

    终点:current日志的最后一条日志(on disk rba)

    起点:在控制文件中记录的LRBA地址(CKPT会写进去)作为起点

    实例恢复的时候,跑日志,前滚,已提交事务的脏块肯定会被构造出来,但未提交事务的脏块也会被构造出来,再通过undo,回滚。

    控制文件中的scn:

       系统scn

       文件scn

       结束scn

    数据文件中的scn:

       数据文件头部scn

     

  • 相关阅读:
    【转】CentOS8新特性
    【转】Python 库打包分发(setup.py 编写)简易指南
    【转】Python3的venv虚拟环境操作(Linux)
    【转】Qt绘图之QGraphicsScene QGraphicsView QGraphicsItem详解
    【转】Qt 积累
    webapi 参数传递详解
    WPF 字体图标样式
    asp net core mvc 跨域ajax解决方案
    NPOI导出Excel封装
    XML序列化CDATA
  • 原文地址:https://www.cnblogs.com/guilingyang/p/5917665.html
Copyright © 2011-2022 走看看