Skip to main content

任务一 数据库备份概述

一、核心背景与目标

数据库系统运行中会面临软件/硬件故障、人为破坏、用户误操作、计算机病毒等风险,这些问题会导致数据错误、数据库损坏甚至瘫痪。 备份与恢复的核心目标是:防止数据丢失,将故障损失降至最低,通过定期备份保留数据副本,在数据库遭破坏时快速恢复。


二、预备知识:数据库故障与恢复技术

1. 常见数据库故障类型(从恢复角度划分)

故障类型定义与场景影响与恢复方式
事务故障事务未正常终止(如运算溢出、死锁被撤销、违反完整性约束等)数据库可能处于不正确状态,需回滚该事务(事务撤销),撤销其对数据库的所有修改。
系统故障导致系统重启的事件(如CPU故障、断电、DBMS代码错误等)丢失内存数据,影响所有事务;需回滚未完成事务+重做已提交事务,恢复数据一致性。
介质故障(硬故障)外存故障(如硬盘损坏、磁头碰撞等)破坏部分或全部数据库,破坏性极强,需依赖备份与日志恢复。
计算机病毒具有破坏性、自我复制的程序破坏数据库,需用恢复技术还原数据。

故障影响可归纳为两类:

  • 数据库本身被破坏;
  • 数据库未被破坏,但数据因事务异常终止而处于不正确状态。

2. 数据库恢复技术的核心逻辑

恢复的核心是建立冗余数据,主要依赖两种技术:

  1. 数据备份 定期将数据库复制到其他存储介质,生成“后备副本”,故障时重新载入副本恢复数据。
    • 静态备份:备份期间不允许任何数据库存取/修改操作,需等待所有事务结束。
    • 动态备份:备份期间事务可并发执行,对数据库操作无严格限制。
  2. 登记日志文件 记录事务对数据库的更新操作,遵循两大原则:
    • 撰写次序严格按并发事务的执行时间排序;
    • 必须先写日志文件,后写数据库,确保即使数据库操作未完成,也能通过日志保证数据正确性。

三、任务实施:数据库备份的分类与时机

1. 数据库备份的分类

(1)按备份时服务器是否在线划分

  • 热备份:数据库运行状态下,通过日志文件备份,支持读写操作。
  • 温备份:数据库运行,但数据仅可读、不可写。
  • 冷备份:数据库关闭状态下备份,能较好保证数据完整性。

(2)按备份内容划分

  • 物理备份:直接复制数据库文件,速度快但占用存储空间大。
  • 逻辑备份:通过软件提取数据生成映像文件,格式与原数据库不同,仅保留数据内容的映射。

(3)按备份数据范围划分

  • 完整备份:备份整个数据库(含用户表、系统表、索引等所有对象),是增量/差异备份的基础(无完整备份则无法执行其他备份)。
  • 增量备份:备份上一次完整备份或最近一次增量备份后变化的内容
  • 差异备份:备份最近一次完整备份后变化的内容(仅备份变更部分,范围比增量备份大)。

2. 数据库备份的时机

备份是耗时、耗资源的操作,需根据“可接受的数据丢失量”和“数据库活动频率”确定周期,通常在以下事件后执行备份:

  • 创建数据库或为数据库填充数据后;
  • 创建索引后;
  • 清理事务日志后;
  • 执行无日志操作后。