
数据库-故障的种类
发布日期:2021-05-04 14:38:19
浏览次数:26
分类:技术文章
本文共 751 字,大约阅读时间需要 2 分钟。
数据库系统中可能发生各种各样的故障,大侄可以分为一下几类。
事务内部的故障
事务内部的故障有的是可以通过事务程序本身发现的,有的是非预期的,不能由事务程序处理。
如运算溢出,并发事务发生死锁而被选中撤销该事务,违反了某些完整性限制而被终止等。事务故障意味着事务没有达到预期的终点,因此数据库可能处于不正确的状态,恢复程序要在不影响其他事务运行的情况下,强行回滚该事务,即撤销该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一下,这类恢复操作称为事务撤销
系统故障
系统故障是指造成系统停在运作的任何事件,使得系统重新启动。例如,特定类型的硬件错误(CPU故障),操作系统故障,dbms代码错误,系统断电等。这类故障影响正在运行的事务,但不破坏数据库。
恢复操作:恢复子系统必须在系统重新启动时让所有非正常事务终止的事务回滚,强行撤销所有未完成事务, 另一方面,发生系统故障时,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回磁盘上的物理数据库中,系统故障使得这些事务对数据库的修改部分或全部丢失,这会使数据库处于不一致状态,因此应将这些事务已提交的结果重写入数据库。介子故障
系统故障常称为软故障,介子故障称为硬故障,硬故障指外存故障,如磁盘损坏,磁头碰撞,强磁场干扰等。
计算机病毒
计算机病毒是一种人为的故障或破坏,是一些恶意研制的计算机程序。
总结各类故障对数据库的影响有二种可能性,一是数据库本身破坏,二是数据库没有破坏,但数据可能不正确,这是由于事务的运行被非正常终止造成的。
恢复的基本原理十分简单。可以用一个词来概括:冗余
这就是说,数据库中任何一部分被破坏或不正确的数据可以根据存储在系统别处的冗余数据来重建,尽管恢复的基本原理很简单,但实现的技术相当复杂的。发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年03月25日 02时12分59秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
大数据学习之Spark——03Spark代码初体验(Word Count)
2019-03-03
LeetCode0234. 回文链表
2019-03-03
比特币史话·78 | 有容乃大(2): 零食售卖机
2019-03-03
比特币史话·96 | 隐私(3): 熔币重铸
2019-03-03
Fire prejudice: 巴菲特搭档芒格首度认可比特币
2019-03-03
GLUT和wxWidgets在OpenGL开发中的比较
2019-03-03
CodeBlocks开发wxWidgets环境配置详细
2019-03-03
Qt 转向 LGPL之后,wxWidgets 路在何方
2019-03-03
[翻译]2009年6月wxWidgets更新 - 支持图标的wxButton
2019-03-03
wxAUI - wxWidgets用户界面框架 - 使用感受
2019-03-03
wxSqlite3 - wxWidgets封装的Sqlite数据库访问类库 - 使用感受
2019-03-03
wxSqlite3 和 wxPropertyGrid 类库的说明
2019-03-03
wxSqlite3类库的使用感受 - 关于乱码的问题
2019-03-03
天涯人脉通讯录 - 设计草图
2019-03-03
★★★男女朋友价格计算器V1.6 - 看看你的朋友值多少钱 :-)
2019-03-03
wxWidgets 最新版2.8.11,终于放出来了
2019-03-03
报表模板更新 - 代码统计工具 - 最新版3.4.1.1 放出
2019-03-03
linux使用yum安装软件报错
2019-03-03