码迷,mamicode.com
首页 > 数据库 > 详细

数据库原理-数据库故障

时间:2016-09-01 18:19:57      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:

数据库恢复定义  

把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)

数据库故障

  1. 事务内部的故障
  2. 系统故障
  3. 介质故障
  4. 计算机病毒

1.事物内部的故障

事务内部更多的故障是非预期的,是不能由应用程序处理的。运算溢出、并发事务发生死锁而被选中撤销该事务和违反了某些完整性限制等都有可能引发事务故障。
解决这类故障的方法是撤销事务(undo),就像事务从来没有发生一样。

2.系统故障

称为软故障,是指造成系统停止运转的任何事件,使得系统要重新启动。

特点:

  1. 整个系统的正常运行突然被破坏
  2. 所有正在运行的事务都非正常终止
  3. 不破坏数据库
  4. 内存中数据库缓冲区的信息全部丢失

常见原因:

  1. 特定类型的硬件错误(如CPU故障)
  2. 操作系统故障
  3. DBMS代码错误
  4. 系统断电

恢复操作:

  • 发生系统故障时,事务未提交
恢复策略:强行撤消(UNDO)所有未完成事务
  • 发生系统故障时,事务已提交,但缓冲区中的信息尚未完全写回到磁盘上。
恢复策略:重做(REDO)所有已提交的事务

3.介质故障

介质故障通常是由于物理问题导致的,对数据库读写操作可能会引起介质故障。它是上述各类故障中最严重的一种,可能会造成数据库部分不可用,甚至全部不可用
原因:
  1. 数据库文件所在磁盘驱动器的磁盘损坏或磁头碰撞
  2. 数据库文件进行读写操作时发生物理问题
  3. 数据库文件意外删除或毁坏

恢复:

介质故障的恢复主要依赖数据库备份的策略。DBA需要根据现有的备份在尽可能短时间的时间内减少数据的丢失。

  1. 装入数据库发生介质故障前某个时刻的数据副本
  2. 重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库

4.计算机病毒


总结:

各类故障对数据库的影响

  1. 是数据库本身被破坏
  2. 是数据库没有被破坏,但数据可能不正确,这是由于事务的运行被非正常终止造成的。

数据库原理-数据库故障

标签:

原文地址:http://www.cnblogs.com/x739400043/p/5830369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!