数据库-故障的种类

2021/4/9 2:25:59

本文主要是介绍数据库-故障的种类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

事务内部的故障

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

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

系统故障

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

介子故障

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

计算机病毒

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

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

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



这篇关于数据库-故障的种类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程