首页 > 其他 > 详细

对checkpoint not completed的理解

时间:2014-08-05 22:32:20      阅读:328      评论:0      收藏:0      [点我收藏+]

假设数据库存在两个日志组log1和log2,首先,-->log1-->log2-->log1,此时(log2切换到log1)触发checkpoint,该checkpoint will flush dirty block to datafile,从而触发DBWn书写dirty buffer,等到log1覆盖的dirty block全部被写入datafile后才能使用log1(循环使用),如果DBWn写入过慢,LGWR必须等待DBWn完成,则这时会出现“checkpoint not completed!”


别人的回答是

log1-> log2, trigger checkpoint 1
after log2 is full,
log2-> log1, trigger checkpoint 2
but if checkpoint 1 is still not finished, then LGWR must wait. This is "logfile switch (checkpoint incompleted)" event.


我的理解是

1.检查点完成,才能顺利切换。

2.checkpoint1阻塞了log2->log1的切换。

3.没有可用的redo日志,会阻塞数据正常使用,这时数据库是短暂hang住的。


不知道对不对,请高人指正~

对checkpoint not completed的理解,布布扣,bubuko.com

对checkpoint not completed的理解

原文:http://blog.csdn.net/hughwang1216/article/details/38391519

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!