zoukankan      html  css  js  c++  java
  • 检查点重做检查点队列简单总结Strut2教程java教程

    本篇文章朋友在北京游玩的时候突然想到的...这几周就有想写几篇关于检查点重做的文章,所以回家到之后就奋笔疾书的写出来发布了

        1、Oracle日记理原

      REDO流(重做日记流)

      RBA (重做节字址地由4部份构成:日记程线号、日记序列号、日记文件块编号和日记文件节字偏移量,长度为10个节字.例如Thread:1 RBA:0x000014.00000003.0010)

      ckpt equeue :1.每3秒会发触查检脏块,2.每3秒查检ckpt equeue头的RBA,把查检队列头RBA写到控制文件)

          用作:(1).统计脏据数块 

               (2).RBA按次序序排,刷据数到磁盘就按这次序

               (3).个每RBA除指向下一个RBA,还指向脏据数块址地

        2、查检点队列(查检点只是一个据数库件事,它存在的本根义意在于少减崩溃恢复间时),在BH中有一个ckptq项,双向链表.

      (1)只有脏块才会在查检点队列中,非脏块的ckptq为空。 

      (2)当块初次被改更时,块会立即被加进查检点队列。 如果查检点队列中的脏块再次被修改,其实不会转变其在

        查检点队列中的位置。 

      (3)查检点队列中脏块的排列次序:根据第2点,全部脏块按照初次被改更的间时的次序排列。 更精确点说:按

     照块的lrba排列。

        3、什么是RBA?LRBA?HRBA?ON DISK RBA?

      (1)RBA:就是重做块址地

      (2)LRBA:第一次对此据数块修改对应的Redo Block Address的次序排列

      (3)HRBA:于对相LRBA,前面修改的RBA

      (4)on disk rba:磁盘中重做日记文件的最后一条重做录记的rba,是最高的重做值。

     4、与参查检点的进程重要括包lgwr、dbwn和ckpt,分为两大类:全完查检点和增量查检点

      (1)全完查检点重要括包以下骤步:

      ①首先,在日记缓冲中定确以后的(也就是最新的)重做录记,提取其RBA与SCN作为查检点目标

      ②LGWR空清日记缓存,将重作录记写入线在日记

      ③DBWn进程将查检点目标(RBA与SCN)产生的及查检点目标之前产生的脏据数块,按RBA的次序写入据数文件

      ④最后,CKPT进程将查检点目标(RBA与SCN)写入据数文件的头部和控制文件

      (2)发触全完查检点的条件:

        ①行执shutdown immediate命令

        ②行执alter system checkpoint命令

        ③LGWR换切线在日记,不论是因为日记写满还是行执alter system switch logfile命令

        ④行执部份表空间护维命令:alter tablespace ...offline|online|begin backup|end backup|read only|read write

        5、增量查检点其实不会去更新据数文件头,而只是每3秒由CKPT进程去更新控制文件中的LRBA和SCN

     (1)增量查检点重要包括以下骤步

        ①CKPT每3秒一次录记查检点位置的作工(更新控制文件)

        ②CKPT期定发触DBWR

     (2)增量查检点的义意有以下两个:

       ①少减产生全完查检点时DBWn进程的作工累赘

       ②进步例实恢复的速度

        6、CHECKPOINT 优化

     (1)从9I开始CHECKPOINT的优化大大简化了

        设置FAST_START_MTTR_TARGET

           较大的值:恢复间时较长

           较小的值:加增IO负载

     (2)10g 的CHECKPOINT的主动优化

       fast_start_mttr_target设置为非零的值或者不设置

        *********************************************************************************************************

        show parameter mttr

        alter system checkpoint;

        alter system switch logfile;

        select file#,checkpoint_change#,to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') cpt from v$datafile;

        select file#,checkpoint_change#,to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') cpt from v$datafile_header;

        select dbid,checkpoint_change# from v$database;

        select group#,sequence#,status,first_change#,next_change# from v$log;

        alter session set events 'immediate trace name controlf level 8';//CKPT每3秒写进控制文件的信息

        每日一道理
    如果只看到太阳的黑点,那你的生活将缺少温暖;如果你只看到月亮的阴影,那么你的生命历程将难以找到光明;如果你总是发现朋友的缺点,你么你的人生旅程将难以找到知音;同样,如果你总希望自己完美无缺,假设你的这一愿望真的能如愿以偿,那么你最大的缺点就是没有缺点。

      grep "low cache rba" test_ora_22708.trc

      / *low cache rba:(0x51.bef8.0)[查检点位置] on disk rba:(0x51.bf36.0)[最后一条重做录记的rba] */

        alter session set events 'immediate trace name buffers level 2'; //BH(脏块)上有CHPTQ和FILEQ,非脏块为NULL

       grep ckptq test_ora_22468.trc |grep -v NULL

       grep ckptq test_ora_22468.trc

          /* ckptq: [0x60be41a8,0x60bf9d98] fileq: [0x60be41b8,0x60bf9da8]

            ckptq: [NULL] fileq: [NULL] */

        alter session set events 'immediate trace name file_hdrs level 10';//件控文件与据数文件头

       /* DATA FILE #5 控制文件

            V10 STYLE FILE HEADER: 据数文件头 

         status:0x4 root dba:0x00000000 chkpt cnt: 106 ctl cnt:105*/

        

        

        

        

    **********本客博全部内容均为原创,若有转载请注明作者和出处!!!**********
    Name:    guoyJoe

        

    QQ:      252803295

        

    Email:    oracledba_cn@hotmail.com

        

    Blog:      http://blog.csdn.net/guoyJoe

        

    ITPUB:   http://www.itpub.net/space-uid-28460966.html

        

    OCM:    http://education.oracle.com/education/otn/YGuo.HTM
    _____________________________________________________________
    加群验证问题:哪些SGA结构是需必的,哪些是可选的?否则拒绝请求!!!

        

    案答在:http://blog.csdn.net/guoyjoe/article/details/8624392

        

    DSI&Core Search(QQ群):127149411

    文章结束给大家分享下程序员的一些笑话语录: 看到有人回帖“不顶不是中国人”,他的本意是想让帖子沉了。

  • 相关阅读:
    C/C++ 读文件
    算法和数据结构 图表示
    protobuf
    C/C++ jsoncpp
    C/C++ C++11作用域枚举
    腾讯云云函数快速入门实践
    Serverless 与 Flask 框架结合进行 Blog 开发
    从企业微信机器人到小爱同学,用 Serverless 实现生活智能化!
    基于 Serverless 与 Websocket 的聊天工具实现
    云函数 SCF 与对象存储实现 WordCount 算法
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3053796.html
Copyright © 2011-2022 走看看