考试网 >> IT认证 >> Oracle >> Oracle指导 >> Oracle中checkpoint的讨论

Oracle中checkpoint的讨论

发布时间:2006-06-28 09:23     点击:
分页:[1] 2 3 4 5 6  下一页

    什么是checkpoint?

    checkpoint是一个数据库事件,它将已修改的数据从高速缓存刷新到磁盘,并更新控制文件和数据文件。

   

    什么时候发生checkpoint?

    我们知道了checkpoint会刷新脏数据,但什么时候会发生checkpoint呢?以下几种情况会触发checkpoint。

    1.当发生日志组切换的时候

    2.当符合LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL,fast_start_io_target,fast_start_mttr_target参数设置的时候

    3.当运行ALTER SYSTEM SWITCH LOGFILE的时候

    4.当运行ALTER SYSTEM CHECKPOINT的时候

    5.当运行alter tablespace XXX begin backup,end backup的时候

    6.当运行alter tablespace ,datafile offline的时候;

   

    增量检查点(incremental checkpoint)

    oracle8以后推出了incremental checkpoint的机制,在以前的版本里每次checkpoint时都会做一个full thread checkpoint,这样的话所有脏数据会被写到磁盘,巨大的i/o对系统性能带来很大影响。为了解决这个问题,oracle引入了checkpoint queue机制,每一个脏块会被移到检查点队列里面去,按照low rdb(第一次对此块修改对应的redo block address)来排列,靠近检查点队列尾端的数据块的low rba值是最小的,而且如果这些赃块被再次修改后它在检查点队列里的顺序也不会改变,这样就保证了越早修改的块越早写入磁盘。每隔3秒钟ckpt会去更新控制文件和数据文件,记录checkpoint执行的情况。

   

    数据字典

    完全检查点

INDX    INST_ID      RTNUM      RTSTA RTCKP_SCN        RTCKP_TIM  

RTCKP_THR RTCKP_RBA_SEQ RTCKP_RBA_BNO

RTCKP_RBA_BOF RTCKP_ETB         RTOTF      RTOTB         RTNLF     
分页:[1] 2 3 4 5 6  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有