ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ckpt、lgwr、dbwr之间的协作

ckpt、lgwr、dbwr之间的协作

原创 Linux操作系统 作者:great_li 时间:2010-05-14 09:51:29 0 删除 编辑
CKPT,   更新控制文件,数据文件头(当log switch时), 标示最新dirty data的写位置(recover位置)
DBWR, 根据CKPT queue中表示dirty data形成的顺序(online redolog 顺序), 把对应内存中的数据更新到数据文件。
LGWR, 当transaction commit, 发生LGWR, 把所有redo buffer 记录到online redolog中。transaction才能标记commit成功。


独立开说:
触发LGWR的条件有:
1) 每3秒
2) 在DBWR触发时,发现dirty data对应redolog 还没有被写入redo logfile, 触发LGWR.
3) redolog 达到 redo buffer的三分之一。
4) redolog 达到1m

触发CKPT的条件有:
1)
FULL CKPT: alter system checkpoint;
            shutdown db(shutdown abort除外)
INCREMENTAL CKPT: 3秒
            当发生log switch时(有的书上说不会发生)

触发DBWR的条件有:
1)发生FULL CKPT和INCREMENTAL CKPT
2)3秒
3)alte tablespace begin backup/offline/readonly
4)drop   table

CKPT:   然后在8i中还受以下参数影响:
log_checkpoint_timeout : oracle 8发生checkpoint的时间间隔; oracle 8i redo log检查点到 redo log末尾的时间间隔。
log_checkpoint_interval   : oracle 8发生checkpoint间隔多少块读写; oracle 8i redo log检查点到 redo log 末尾的时间间隔。
fast_start_io_target    : 当DB crash时, 有多少io需要recover
9i修改由参数fast_start_mttr_target控制, fast_start_mttr_target指保证DB crash时, 多长时间可以recover完成。

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

下一篇: 配置service
请登录后发表评论 登录
全部评论

注册时间:2010-03-27

  • 博文量
    59
  • 访问量
    85697