事务故障分为几类,如果发生应如何恢复?
【正确答案】:事务故障可分为两类:(1)可以预期的事务故障,即在程序中可以预先估计到的错误,譬如存款余额透支,商品库量达到最低量等,此时继续取款或发货就会出现问题。这种情况可以在事务的代码中加入判断和ROLLBACK语句。当事物执行到ROLLBACK语句时,由系统对事务进行回退操作,即执行UNDO操作。(2)非预期的事务故障,即在程序中发生的未估计到的错误,譬如运算溢出、数据错误、并发事务发生死锁被选中撤销该事务等。此时由系统直接对该事务执行UNDO处理。