ITPub博客

首页 > 应用开发 > IT综合 > CKPT & SCN

CKPT & SCN

原创 IT综合 作者:shiyihai 时间:2007-06-12 14:26:40 0 删除 编辑

Checkpoint是一个数据库事件,用来同步所有的datafile,controlfile和redo logfile。当发出ckpt时(回顾什么时候oracle会发出ckpt呢),ckpt会将检查点时刻的scn写入到控制文件和数据文件头部,同时会促使dbwr进程将data buffer中的所有的脏数据写入到数据文件中。而dbwr进程工作时又会促使lgwr写log buffer中的日志数据到redo logfile中。所以当发出检查点时CKPT,DBWR和LGWR同时工作,三种文件的scn完全一致,从而能保持完全同步。

[@more@]

平时的commit操作只会促使LGWR写redo日志,DBWR只有在检查点时刻才会将脏缓冲区数据写入到数据文件。那什么时候oracle会发出ckpt呢?见如下:

1、log switch时;

2、close database时;

3、manual ckpt时(alter system checkpoint);

4、parameter value(FAST_START_MTTR_TARGET)。

SCN(system change number)是用来标识database change的唯一标识号,递增的数值。9i中可查询system_flashback.get_system_change_number来获取scn,10g中可直接查询v$database中的current_scn来获取scn。

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

请登录后发表评论 登录
全部评论
  • 博文量
    235
  • 访问量
    1707884