数据库系统中故障可以分为哪几类?

2025-03-11 14:18:12
推荐回答(2个)
回答1:

可以分为三类:

1.事务故障

2.系统故障

3.介质故障

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

系统故障:若系统在运行过程中,由于某种原因,造成系统停止运行,以致事务在执行过程中以非正常的方式终止,这是内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为系统故障。

介质故障:介质故障是指外存储设备故障,主要有磁盘损坏,磁头碰撞盘面,突然的强磁场干扰,数据传输部件出错,磁盘控制器出错等。

回答2:

事务故障
系统故障
介质故障
一、事务故障
什么是事务故障
某个事务在运行过程中由于种种原因未运行至正常终止点
事务故障的常见原因
输入数据有误
运算溢出
违反了某些完整性限制
某些应用程序出错
并行事务发生死锁
事务故障(续)
事务故障的恢复
事务故障的恢复:事务撤消(UND)
恢复程序要在不影响其它事务运行的情况下,强行回滚(RBACK)该事务,即清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样
二、系统故障
什么是系统故障
由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务都以非正常方式终止。
发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部存储设备上的数据未受影响
系统故障(续)
系统故障的常见原因
操作系统或DBMS
代码错误
操作员操作失误
特定类型的硬件错误(如CPU
故障)
突然停电
系统故障(续)
系统故障的恢复
1.
清除尚未完成的事务对数据库的所有修改
如果DBMS
无法确定哪些事务已更新过数据库,则系统重新启动后,恢复程序要强行撤消(UND

所有未完成事务,使这些事务象没有运行过一样。
2.
将已完成事务提交的结果写入数据库
如果DBMS
无法确定哪些事务的提交结果尚未写入物理数据库,则系统重新启动后,恢复程序需要重做(RED

所有已提交的事务。
三、介质故障
什么是介质故障
硬件故障使存储在外存中的数据部分丢失或全部丢失
介质故障比前两类故障的可能性小得多,但破坏性最大。
介质故障(续)
介质故障的常见原因
硬件故障
磁盘损坏
磁头碰撞
操作系统的某种潜在错误
瞬时强磁场干扰
介质故障(续)
介质故障的恢复
装入
数据库发生介质故障前某个时刻的数据副本
重做自此时始的所有成功事务
,将这些事务已提交的结果重新记入数据库
故障的种类小结
数据库系统中各类故障对数据库的影响
数据库本身被破坏
(介质故障)
数据库处于不一致状态
数据库中包含了未完成事务对数据库的修改(事务故障、系统故障)
数据库中丢失了已提交事务对数据库的修改(系统故障)
不同类型的故障应采用不同的恢复操作
故障的种类小结(续)
恢复操作的基本原理:简单
原理:利用
存储在系统其它地方的冗余数据
来重建
数据库中已经被破坏或已经不正确的那部分数据
恢复的实现技术:复杂
一般一个大型数据库产品,恢复子系统的代码要占全部代码的10%
以上