background checkpoints completed
8
Number of checkpoints completed by the background process. This statistic is incremented when the background process successfully advances the thread checkpoint.oracle 10.2里面对checkpints的描述如上。为什么它的值不是累加的呢?
如果为0,是不是指当前snapid到前一个snapid之间没有进行过checkpoints操作?
如果连续式相同的值,又指什么呢?
 先谢谢大家了。eg
           NAME                   VALUE      SNAP_ID
background checkpoints completed 2 759
background checkpoints completed 2 760
background checkpoints completed 2 761
background checkpoints completed 2 762
background checkpoints completed 2 763
background checkpoints completed 2 764
background checkpoints completed 2 765
background checkpoints completed 2 766
background checkpoints completed 2 767
background checkpoints completed 2 768
background checkpoints completed 2 769
background checkpoints completed 0 772
background checkpoints completed 0 782
background checkpoints completed 0 783
background checkpoints completed 0 784
background checkpoints completed 0 785
 

解决方案 »

  1.   

    我问了一下别人,他们说现在10.2很少用这种完全checkpoint了,而是采用增量checkpoint,所以触发checkpoint completed增加的情况也很少,如alter system switch logfile 才会改变这个值。
    现在有个新问题:就是什么时候这个值会清0。
    就我所知,在重启oracle的时候会清0,在其他情况下会清0吗?
      

  2.   


    首先,检查点由CKPT进程来管理,从8i开始就加入了incremental checkpoint的概念
    checkpoint 分为完全检查点和增量检查点,当某个条件满足触动完全检查点(比如 alter system checkpoint/shutdown immediate)的时候,会在buffer中标示出所有的脏数据,以高优先级的方式启动DBWn进程,写入数据库文件,而不完全检查点即增量检查点呢,比如当switch logfile时,会触发增量检查点,当触发了增量检查点,情况就比较麻烦了,比较这是一个更高级的性能方式,Oracle里,被修改过的块,称为脏块,对于complete checkpoint来说,会写所有脏数据,将面临着较大的IO,而incremental chekcpoint的诞生就是解决这个问题的,Oracle所有的脏块被一个链表串起来,称做检查点队列,buffer header有一个ckptq项,记录了指向检查点队列上一个块和下一个块的指针,有了这个列表,Oracle通过检查点链表,当DBWn触发是顺序写如脏数据,增量检查点就是根据检查点链表的信息,找到buffer head,并将bufffer header中的LRBA记录到控制文件里去,其实这时候还没有把脏数据写入到数据文件了,当系统崩溃时,oracle恢复的时候,会更加controlfile里记录的LRBA来作为日志文件的起点,从这个起点开始取出每个redo条目,来进行重做处理。以上仅是个人理解,有理解错误之处,一起讨论
    ==================================================================
    Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
    联系方式QQ:370140387
    电子邮件:[email protected]
    网站: http://www.inthirties.com
      

  3.   


    你这里说的清0,应该不是这个含义,对于shutdown immedidate来说,每个数据文件的checkpoint会被至为0,当是mount的状态的时候,一旦open,这个checkpoing会恢复和control里一样。你可以做相关的实验。
      

  4.   

    顶一下,大家一起讨论一下checkpoint.