运行中的系统因为故障导致服务器重启,正在执行的事务中断,破坏了事务的原子性,恢复

资格题库2022-08-02  48

问题 运行中的系统因为故障导致服务器重启,正在执行的事务中断,破坏了事务的原子性,恢复的方法是利用日志进行(请作答此空)操作;而已经提交的事务在故障发生时尚未写入磁盘,破坏了事务的( ),恢复的方法是利用日志进行Redo操作。A.UndoB.RedoC.CoDunitD.Rollback

选项 A.Undo
B.Redo
C.CoDunit
D.Rollback

答案 A

解析 本题考查故障与恢复的基础知识。故障导致服务器重启,故障时正在执行的事务的原子性被破坏,即事务没有执行完,其对数据库的部分更新可能己经写入硬盘上的数据库文件,重启后这部分更新使得数据库处于不一致性状态,应对其进行处理,撤销故障时未完成的事务对数据库的更新,使数据库还原到未完成的事务执行前的状态,相当于这些事务没有执行。这种恢复操作借助于日志文件来完成。日志按照时间顺序记录了所有事务对数据库的更新操作。而且在对数据库的更新之前已被写入硬盘。可以逆向扫描日志记录,找出未完成的事务,将其对数据库的修改还原,称为Undo操作。同样,故障发生时已经完成提交的事务,其对数据库的修改可能还在内存中的I/O缓冲区中,没来得及写入硬盘,重启后这部分修改会丢失,破坏了事务的持久性。同样借助于日志文件,找到故障前已完成的事务,将其对数据库的更新重做一遍,即可完成对应事务的更新操作。这一操作称为Redo操作。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2418624.html

最新回复(0)