Welcome
系统不可避免会出现意外情况,如果出现意外情况如何能尽快的恢复到正常情况,其中数据的备份策略至关重要!
1. 两大方式
1.1 定义
冷备份 也称为
静态备份
, 将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。热备份 也称为
动态备份
,是利用备份软件,在数据库正常运行的状态下,将数据库的数据文件备份出来。
1.2 优劣点比较
优点 | 缺点 | |
---|---|---|
冷备份 | a. 非常快速的备份方法(只需复制文件)。 b. 容易归档(简单复制即可)。 c. 容易恢复到某个时间点上(只需要将文件再复制回去)。 d. 能与归档方法相结合,做数据库“最佳状态”的恢复。 e. 低度维护,高度安全。 | a. 单独使用时,只能提供到某一时间点的恢复。 b. 在实施备份的全过程中,数据库必须要作备份而不能做其他工作! c. 若磁盘空间有限只能复制到磁带等其他外部存储设备上,速度会很慢。 d. 不能按表或按用户恢复。 |
热备份 | a. 可在表空间或数据库文件级备份,备份的时间段。 b. 备份时数据库仍然可以使用。 c. 可达到秒级恢复(恢复到某一时间点上)。 d. 可对几乎所有数据库实体做恢复。 e. 恢复速度快。 | a. 不能出错,否则后果严重。 b. 若热备份不成功,所得结果不可用于时间点的恢复。 c. 维护的压力比较大,所以要特别小心,不允许“已失败告终”。 |
2.策略计划
2.1 名次解释
- 完全备份: 备份所有数据。
- 差量备份: 仅备份上一次 完全备份 之后变化的数据。
- 增量备份: 备份上一次备份之后变化的数据。
- 日志文件: 事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。
2.2 备份计划示例
日期 | 周日 Su. | 周一 Mo. | 周二 Tu. | 周三 We. | 周四 Th. | 周五 Fr. | 周六 Sa. |
---|---|---|---|---|---|---|---|
策略 | 全备 | 增备 | 增备 | 差备 | 增备 | 差备 | 增备 |
数据 | A | B | C | (B+C)+D | E | (B+C+D+E)+F | G |
解释:
周三备份的数据:(B+C)+D
= 距全备(周日)之后的所有变化数据,即周一和周二以及周三当天变化的数据。
恢复策略:
先找全备,再找距离故障日期最近的差备,最后找距离故障日期最近的增备!
恢复示例
周六故障:
Su. + Fr. + Sa.
=A + ((B+C+D+E)+F) + G
- 日志记录 ➜ 备份点之后的数据
周三故障:
Su. + Mo. + Tu.
=A + B + C
- 日志记录 ➜ 备份点之后的数据
3. 故障分析
故障关系 | 故障原因 | 解决方法 |
---|---|---|
事务本身 可预期故障 | 本身逻辑 | 在程序中预先设置 Rollback |
事务本身 不可预期故障 | 算数溢出 违反存储保护 | 由 DBMS 的恢复子系统通过日志撤销事务 对数据库的修改,回退到事务的初始状态 |
系统故障 | 系统停止运转 | 通常使用检查点发(系统重启时自动完成) |
介质故障 | 外存被破坏 | 一般使用日志重做业务 |
- 撤销事务: 故障发生时未完成的事务,放入
Undo
撤销。 - 重做事务: 故障发生前已提交的事务,放入
Redo
重做。
完结撒花 😂 ! 制作不易,如引用原文,必须附此原文链接,否则违者必究!😈