设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
关于前滚和重做
返回列表
发新帖
关于前滚和重做
[复制链接]
11
|
4
|
2014-2-18 16:50:09
|
显示全部楼层
|
阅读模式
各位大侠好:
关于前滚和重做概念有几个问题想请教一下:
场景一:
未提交的事务, redo日志已写到日志文件时,数据缓冲区中的脏数据已经写入数据文件,此时宕机,后重启
请问实例恢复时前滚,从最后一次检查点开始重做日志文件记录的日志,是只做提交的日志,还是提交未提交的都重做?
并且对于场景一的情况,重做这个已更新的数据块时会跳过不重做还是重复再做一次?
场景二:
未提交的事务, redo日志已写到日志文件时,数据缓冲区中的脏数据已经写入数据文件,此时用户rollback,数据缓冲区数据块恢复正常,
请问这还算脏块吗?之后还会将数据文件再更新回原来的数据文件吗?如果还没来得及同步给数据文件,那么宕机后前滚,还是之前的问题,
会重做修改数据的日志吗?还是会有什么标记直接做rollback,忽略前面的?
回复
使用道具
举报
千问
|
2014-2-18 16:50:09
|
显示全部楼层
场景一:
未提交的事务, redo日志已写到日志文件时,数据缓冲区中的脏数据已经写入数据文件,此时宕机,后重启
请问实例恢复时前滚,从最后一次检查点开始重做日志文件记录的日志,是只做提交的日志,还是提交未提交的都重做?
并且对于场景一的情况,重做这个已更新的数据块时会跳过不重做还是重复再做一次?
实例恢复的起始点,是记录在控制文件的LRBA。从些处开始,应用每一条Redo Recorder。
场景二:
未提交的事务, redo日志已写到日志文件时,数据缓冲区中的脏数据已经写入数据文件,此时用户rollback,数据缓冲区数据块恢复正常,
请问这还算脏块吗?之后还会将数据文件再更新回原来的数据文件吗?如果还没来得及同步给数据文件,那么宕机后前滚,还是之前的问题,
会重做修改数据的日志吗?还是会有什么标记直接做rollback,忽略前面的?
还算脏块。
理解检查点的关键,就是放弃检查点这个概念。完全检查点还好说,“某个时刻触发了增量检查点”,这句话是错的,只会让你越来越糊途。
增量检查点是一套机制,不存在某个时刻被触发这样的动作。
回复
使用道具
举报
千问
|
2014-2-18 16:50:09
|
显示全部楼层
数据处理的原理与机制,越讨论越能理解透彻。
回复
使用道具
举报
千问
|
2014-2-18 16:50:09
|
显示全部楼层
vage 发表于 2013-8-5 23:01
场景一:
未提交的事务, redo日志已写到日志文件时,数据缓冲区中的脏数据已经写 ...
非常感谢您的回答,看过您的文章,呵呵,我还要继续多加看书
回复
使用道具
举报
千问
|
2014-2-18 16:50:09
|
显示全部楼层
oralin_deng 发表于 2013-8-6 08:21
数据处理的原理与机制,越讨论越能理解透彻。
恩恩,是挺深的
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行