第十一章 故障管理

第十一章 故障管理

第十一章 故障管理_第1张图片

预期的事务内部的故障

可以通过事务程序本身发现的事务内部故障。
对策:通过将事务回滚,撤销对其数据库的修改,从而使数据库回到一致的状态。

非预期的事务内部的故障

不能由事务程序处理的,如运算溢出故障、并发事务死锁故障、违反了某些完整性限制而导致的故障等。
对策:通过将事务回滚,撤销对其数据库的修改,从而使数据库回到一致的状态。

系统故障

又称软故障,是指数据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞,突然停电等情况,导致系统停止运转,所有正在进行的事务以非正常方式终止,需要系统重新启动的一类故障。
对策:在重启系统后,撤销(UNDO)所有未提交的事务,重做(REDO)所有已提交的事务,以达到容错目的。

介质故障

又称硬故障,使之数据库在运行过程中,由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等情况,使得数据库中的数据部分或全部丢失的一类故障。
对策:

  • 软件容错:通过数据库备份和日志文件恢复数据库到备份结束时的状态
  • 硬件容错:采用双物理存储设备,考虑将存储设备放置在异地

计算机病毒故障
对策:杀毒,使用软件容错方法恢复。

数据库恢复技术

在故障发生时,能够利用存储在系统其他地方的冗余数据来重建数据库中被破坏的或不正确的数据,把数据冲错误状态恢复到某一已知的正确状态,从而重新建立一个完整的数据库。
两个关键:

  • 建立冗余数据
  • 利用这些冗余数据实施数据库恢复
    建立冗余数据的技术:
  • 数据备份
  • 登记日志文件
  • 数据库复制
  • 数据库镜像
  • 为段设立保存点以及使用后备段与现行页来支持对段的保存

数据转储

第十一章 故障管理_第2张图片

静态转储

在静态转储过程中系统不能运行其他事务,不允许在转储期间对数据库有任何的存取、修改活动,即转储后系统必须处于一个一致性的状态。

动态转储

动态转储是指允许转储操作和用户事务并发执行,即允许在转储过程中数据库进行存取和修改操作。

数据转储机制

第十一章 故障管理_第3张图片

完全转储

对数据库中所有数据进行转储。
利弊:占用较多的时间和空间,但在系统失败时恢复的时间较短。
用途:可用作系统失败时恢复数据库的基础。

增量转储

只复制上次转储后发生变化的文件或数据块。
利弊:转储所需时间和空间少,恢复所需时间和空间多

差量转储

又称差异转储,对最近一次数据库完全转储以来发生的数据变化进行转储。
利弊:与完全转储相比,占用的空间和时间少;与增量转储相比,占用的空间和时间多,但恢复速度快。

日志文件

日志文件记录每个事务对数据库的修改操作。
可以用来进行事务故障恢复和系统故障恢复,协助转储文件进行介质故障恢复。可以分析数据出现问题的原因。

作用:

  • 事务故障恢复:UNDO
  • 系统故障恢复:UNDO(开始,但未提交)和REDO(已提交,但可能随内存丢失)

格式:

  • 以记录为单位:每个事务开始的标记,每个事务结束的标记,每个事务的更新操作
  • 以数据块为单位

登记日志文件的原则:

  • 登记的次序严格按并行事务执行的时间次序
  • 必须先写日志文件,后写数据库

检查点

检查点内容:

  • 建立检查点时刻所有正在执行的事务清单
  • 这些事务最近一个日志记录的地址

如果事务在检查点之后已提交,则REDO
如果事务在检查点之后未提交,则UNDO

硬件容错方案

第十一章 故障管理_第4张图片

  • 磁盘保护技术
    • 镜像冗余:把所有的数据复制到其它的设备上或其它地方。
    • 检验冗余:对所有的成员磁盘进行异或(XOR)操作,得到其校验值,并存放到另外的校验磁盘上。
  • 服务器容错技术
    • Active-Standby:公有网络为客户端和数据库服务器连接的网络,私有网络为两台数据库服务器之间检测状态的网络。当一台出现故障,另一台接管共享存储资源和IP地址。但,当私有网络出现问题时,Active机正常工作,Standby机认为它出现故障,便强行接管Active机,然后交换身份,会产生死循环,称之为“脑裂”,可以通过使用共享存储、第二条私有网络、串口等方式检测对方服务器状态。Active到Standby切换一般需要断开数据库连接,然后重新启动。

数据库镜像

自动将整个数据库或其中的关键数据复制到另一个磁盘上。不同的磁盘上有不同的服务器,相互备份。一台宕机,另一台接管。

优点:

  • 数据库镜像提供完整或接近完整的数据冗余,增强数据保护功能
  • 发生灾难时,数据库镜像可快速使数据库的备用副本提供服务,使数据不会丢失,提高数据库的可用性
  • 提高镜像数据库在升级期间的可用性

数据库镜像的基本架构:

  • 双机互备援模式:两台均为工作机
  • 双机热备份模式:一台工作机,一台备份机

数据库镜像的三种实现方式:

  • 高可用性:两台服务器上同步事务写入,并支持自动错误恢复。
  • 高保护:两台服务器上同步事务写入,但是错误恢复是手工的。
  • 高性能:两台服务器上的写入可以不同步,因此在性能上有所提高,只允许手工的错误恢复。

你可能感兴趣的:(数据库(三级考试))