12.3.1 数据库系统故障种类

2025-07-26 22:43:29 更新






1

事务故障(transaction failure)

由于程序执行错误而引起事务非预期的、异常终止的故障。

(1)逻辑错误。如非法输入、找不到数据、溢出、超出资源限制等原因引起的事务执行失败。

(2)系统错误。系统进入一种不良状态(如死锁),导致事务无法继续执行。

事务故障意味着事务没有达到预期终点(COMMIT或者显示ROLLBACK),因此数据库可能处于不正确状态。

恢复程序要在不影响其他事务运行的情况下,强行回滚该事务,即撤销该事务已经做出的任何对数据库的修改,这类恢复操作称为事务撤销(UNDO)。

应用程序无法处理非法输入、运算溢出等错误,由DBMS系统实现故障恢复;

非法输入是由约束机制检查并恢复的

2

系统故障

指硬件故障、软件(如DBMS、OS或应用程序)漏洞的影响,导致丢失了内存中的信息,影响正在执行的事务,但未破坏存储在外存上的信息。又称故障-停止假设(fail-stop assumption)

系统故障中止了事务执行过程,破坏了事务的原子性,由于缓冲区中的内容可能部分己写入数据库,系统重启后数据库可能处于不一致状态。


3

介质故障

指数据库的存储介质发生故障,如磁盘损坏、瞬间强磁场干扰等。

直接破坏了数据库,会影响到所有正在读取这部分数据的事务。