ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于log buffer的内部管理

关于log buffer的内部管理

原创 Linux操作系统 作者:tolywang 时间:2010-06-05 10:05:38 0 删除 编辑
log buffer的管理分为两个部分,一部分是生成重做记录,  一部分是重做记录写入联机日志文件

当有多个更新语句被用户发出时, 日志缓冲区的结构大概如下:

行号             事务id             file#             blk#            row                 column        value  
1                   T20                 2                 39               -                         -               289
2                   T20                 5                498             220                      3              190
3                   T9                   2                 90               -                          -               hhh
4                   T9                   9                100               20                      9              xxx
5                   T9                 commit          SCN            timestamp                              
6                   T18                 2                 189              -                        -                  18
7                   T18                 10                 29             300                    10                20
8                   T18               commit           SCN           timestamp   

这批重做记录中,  存在两个commit ,   但LGWR 不会分成两次来写, 而是一次就将他们全部写入 。



commit 或 rollback 都会触发LGWR将log buffer的重做记录写入联机日志文件,这里重做记录中有两个commit,  
在第一个commit 就应该触发LGWR ,  为什么书上写的是 “LGWR 不会分成两次来写, 而是一次就将他们全部写入” ?
这样说矛盾吗 ?

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

上一篇: 孕前检查
请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695818