在平时,做好备份和日志两项工作,在出故障时就能把 DB 恢复到一致性状态。
- 事务日志
事务日志中保存着事务对数据库的所有更新操作。 - 数据转储
转储是指 DBA 将整个 DB 复制到磁带或者另一个磁盘上保存的过程。
转储有海量转储、增量转储、转储日志文件三种方式。 - 恢复
使 DB 从一种状态(通常是不一致状态)恢复到原来一致的状态称为数据库的恢复。DB 恢复的依据是后备副本和事务日志文件。故障种类、产生原因、恢复工作和执行者等内容如表所示。
产生的原因 | 恢复工作 | 执行者 | |
---|---|---|---|
事务故障 | 运算错误、数据错误、死锁等 | 由系统对该事务作撤销(UNDO)处理 | 由系统自动进行 |
系统故障 | 软硬件错误、停电等引起系统停止运行 | 1、对未完成事务作撤销(UNDO)处理 2、对已提交事务但更新还留在缓冲区的事务进行重做(REDO)处理 | 由系统自动进行 |
介质故障病毒破坏 | 硬盘损坏,硬盘上 DB 丢失 | 1、重装转储的后备副本 2、找出所有已提交的事务 3、对这些已提交的事务进行重做(REDO)处理 | 由 DBA 安装后备副本到新的硬盘,再由系统执行重做处理 |