> 教育经验 > 什么是事务故障介绍

什么是事务故障介绍

什么是事务故障介绍

事务故障,计算机术语,是由于程序执行错误而引起事务非预期的、异常终止的故障。

事务故障简介

事务故障是由于程序执行错误而引起事务非预期的、异常终止的故障。它发生在单个事务的局部范围内,实际上就是程序的故障。有的事务故障可以通过事务程序本身发现。

事务故障举例

银行转账事务把一笔金额从账户甲转给账户乙。程序伪码如下:

BEGIN TRANSACTION

读账户甲的余额为x;

x=x-a; //a转账金额

IF(x<0) THEN

{打印‘金额不足,不能转账’;

ROLLBACK;}

ELSE

{写回x;读账户乙的余额y;

y=y+a;

写回y;

COMMIT;}

这段程序中若账户甲余额不足,程序可以发现并让事务滚回,撤销已做的修改,是数据恢复到正确状态。

事务故障意味着事务没有达到预期的终点(COMMIT或者显示ROLLBACK),因此数据库可能处于不正确状态。恢复程序要在不影响其他事务的运行情况下,强行滚回该事务,即撤销该事务已经做出的任何对数据库的修改,这类恢复操作称为事务撤销(UNDO)。

事务故障主要表现

事务故障更多的是非预期的,不能由事务程序处理的情况,主要有:

①逻辑上的错误,如运算溢出、死循环、非法操作、地址越界等等;

②违反完整性限制的无效的输入数据;

③违反安全性限制的存取权限;

④资源限定,如为了解除死锁、实施可串化的调度策略等而ABORT一个事务;

⑤用户的控制台命令。