对于一次调度其中涉及的相关事务,无论是什么原因,如果事务Ti失败了,为保证事务的原子性我们必须撤消该事务对数据库造成的影响,即将事务Ti回滚。同时由于系统中事务的并发执行,还必须确保那些依赖于Ti的任何事务Tj(即Tj读取了由Ti所写的数据)也必须同时撤消掉(即回滚掉)。
(1)可恢复调度与不可恢复调度
如图1所示,事务T7读取了事务T6所写的数据A,如果事务T6发生故障而回滚,就有可能引起T7的回滚,因此事务T6必须在T7提交之前进行提交,才能保证调度中事务是可恢复的。
图1