反馈
问题:
<h3> 试题五</h3><p> [说明】</p><p> 如果一个数据库恢复系统采用检查点机制, 且其日志文件如表 5-1 所示, 第一列表示El 志记录编号, 第二列表示日志记录内容, < Ti, START>表示事务 Ti 开始执行, < Ti , COMMIT> 表示事务 Ti 提交, < Ti, D, Vl, V2> 表示事务 Ti 将数据项 D 的值由 Vl 修改为 V2, 请回答以下问题。</p><p><br/></p><img src='http://doquestion.docdev.cn/ruankao_work_version_0103/2021.06.29.4.png'/>
选项 :
<p> 【间题 1】( 6 分)</p><p> 假设系统开始执行前 X=l OO, Y=SO, Z=lO , 系统出错恢复后, X, Y, Z 各自的数值是多少?</p><p><br/></p>
选项 :
<p> 【间题 2】( 4 分)</p><p> 系统发生事务故障时, 故障恢复有撤销事务 ( UND O ) 和重做事务 ( R EDO ) 两个操作, 请给出系统 恢复时需要 R EDO 的事务列表和需要 UND O 的事务列表。</p><p><br/></p>
选项 :
<p> 【间题 3】( 5分)</p><p> 请简要描述系统出错后 , 基千检查点的恢复过程。</p>
答案:
解析:
<p> 问题一</p><p> X=l. Y=SO, Z=lO</p><p> 问题二</p><p> REDO: Tl, UNDO: T2、T3</p><p> 问题三</p><p> 1、发生故障后, 反向扫描日志文件。</p><p> 2、扫描至检查点, 确认当前活动事务为 Tl ,T2,T3。</p><p> 3、检查点之后 Tl 事务提交了 , 因此要重做 ( R EDO ) , 方法是从 Tl 事务的开始标记起, 正向扫描日志文件, 重新执行 Tl 对数据库的所有操作, 直到事务结束标志 。</p><p> 4、检查点后 T2、T3 未提交, 因此要撤销 ( UND O ) , 方法是反向扫描日志文件 , 将 T2 和 T3</p><p> 对数据库的所有更新操作执行逆操作, 直到事务开始标志。</p><p><br/></p>