热门关键字:  项目经理  分析师  CEO  中间件  报名费





数据库的故障种类

来源: 作者: 时间:2008-04-02 点击:

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


1.事务故障


事务故障是指事务在执行过程中发生的故障,此类故障只发生在单个或多个事务上,系统能正常运行,其它事务不受影响.事务故障有些是预期的,通过事务程序本身可以发现并处理,如果发生故障,使用ROLLBACK回滚事务,使事务回到前一种正确状态.有些是非预期的,不能由事务程序处理的,如运算溢出,违反了完整性约束,并发事务发生死锁后被系统选中强制撤消等,使事务未能正常完成就终止.这时事务处于一种不一致状态.后面讨论的事务故障仅指这类非预期的故障.


发生事务故障时,事务对数据库的操作没有到达预期的终点(要么全部做COMMIT,要么全部不做ROLLBACK),破坏了事务的原子性和一致性,这时可能已经修改了部分数据,因此数据库管理系统必须提供某种恢复机制,强行回滚该事务对数据库的所有修改,使系统回到该事务发生前的状态,这种恢复操作称为撤消(UNDO).所谓撤销,就是反向进行逆操作.


2.系统故障


系统故障主要是由于服务器在运行过程中,突然发生硬件错误(如CPU故障),操作系统故障,DBMS错误,停电等原因造成的非正常中断,至使整个系统停止运行,所有事务全部突然中断,内存缓冲区中的数据全部丢失,但硬盘,磁带等外设上的数据未受损失.


系统故障的恢复要分别对待,其中有些事务尚未提交完成,其恢复方法是撤消(UNDO),与事务故障处理相同;有些事务已经完成,但其数据部分或全部还保留在内存缓冲区中,由于缓冲区数据的全部丢失,至使事务对数据库修改的部分或全部丢失,同样会使数据库处于不一致状态,这时应将这些事务已提交的结果重新写入数据库,这时需要重做(REDO)提交的事务,所谓重做,就是先使数据库恢复到事务前的状态,然后顺序重做每一个事务,使数据库恢复到一致状态.


3.介质故障


介质故障是指外存故障.介质故障使数据库的数据全部或部分丢失,并影响正在存取出错介质上数据的事务.介质故障可能性小,但破坏性最大.一般将系统故障称为软故障(Soft Crash),介质故障称为硬故障(Hard Crash).对于介质故障,通常是将数据从建立的备份上先还原数据,然后使用日志进行恢复.





最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
企业电子商务

赞助商