假设数据库系统在从先前的崩溃中恢复时再次崩溃。假设检查点不是由数据库在事务期间或恢复期间完成的。
以下哪些陈述是/是正确的?
(A)再次恢复时将使用相同的撤销和重做列表
(B)系统无法进一步恢复
(C)所有已经撤销和重做的交易将不会被再次恢复
(D)数据库会变得不一致答案:(一)
说明:假设撤消/重做列表是持久的(日志记录),而撤消/重做系统会记录所做的任何更改。所以如果系统在recovery过程中崩溃了,下一次recovery就会让DB进入一致状态
如果在事务期间或恢复期间数据库未执行检查点,则使用日志记录恢复系统:发生系统崩溃后,系统会查阅日志以确定哪些事务需要重做,哪些需要撤消。
- 如果日志中包含记录,则需要撤消事务 Ti
但不包含任何记录 或记录 . - 如果日志包含记录,则需要重做事务 Ti
和记录 或记录 . - 如果日志包含记录,则需要重做事务 Ti
这个问题的测验