数据库-故障的种类

数据库系统中可能发生各种各样的故障,大侄可以分为一下几类。

事务内部的故障

事务内部的故障有的是可以通过事务程序本身发现的,有的是非预期的,不能由事务程序处理。
如运算溢出,并发事务发生死锁而被选中撤销该事务,违反了某些完整性限制而被终止等。

事务故障意味着事务没有达到预期的终点,因此数据库可能处于不正确的状态,恢复程序要在不影响其他事务运行的情况下,强行回滚该事务,即撤销该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一下,这类恢复操作称为事务撤销

系统故障

系统故障是指造成系统停在运作的任何事件,使得系统重新启动。例如,特定类型的硬件错误(CPU故障),操作系统故障,dbms代码错误,系统断电等。这类故障影响正在运行的事务,但不破坏数据库。
恢复操作:恢复子系统必须在系统重新启动时让所有非正常事务终止的事务回滚,强行撤销所有未完成事务,
另一方面,发生系统故障时,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回磁盘上的物理数据库中,系统故障使得这些事务对数据库的修改部分或全部丢失,这会使数据库处于不一致状态,因此应将这些事务已提交的结果重写入数据库。

介子故障

系统故障常称为软故障,介子故障称为硬故障,硬故障指外存故障,如磁盘损坏,磁头碰撞,强磁场干扰等。

计算机病毒

计算机病毒是一种人为的故障或破坏,是一些恶意研制的计算机程序。

总结各类故障对数据库的影响有二种可能性,一是数据库本身破坏,二是数据库没有破坏,但数据可能不正确,这是由于事务的运行被非正常终止造成的。

恢复的基本原理十分简单。可以用一个词来概括:冗余
这就是说,数据库中任何一部分被破坏或不正确的数据可以根据存储在系统别处的冗余数据来重建,尽管恢复的基本原理很简单,但实现的技术相当复杂的。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值