资源描述
1 数 据 库 系 统 概 论An Introduction to Database System第 十 章 数 据 库 恢 复 技 术 2 第 十 章 数 据 库 恢 复 技 术10.1 事 务 的 基 本 概 念10.2 数 据 库 恢 复 概 述10.3 故 障 的 种 类10.4 恢 复 的 实 现 技 术10.5 恢 复 策 略10.6 具 有 检 查 点 的 恢 复 技 术10.7 数 据 库 镜 像10.8 小 结 3 10.1 事 务 的 基 本 概 念一 、 什 么 是 事 务二 、 如 何 定 义 事 务三 、 事 务 的 特 性 4 一 、 什 么 是 事 务n 事 务 (Transaction)是 用 户 定 义 的 一 个 数 据 库 操 作序 列 , 这 些 操 作 要 么 全 做 , 要 么 全 不 做 , 是 一 个不 可 分 割 的 工 作 单 位 。n 事 务 和 程 序 是 两 个 概 念在 关 系 数 据 库 中 , 一 个 事 务 可 以 是 一 条 SQL语句 , 一 组 SQL语 句 或 整 个 程 序一 个 应 用 程 序 通 常 包 含 多 个 事 务n 事 务 是 恢 复 和 并 发 控 制 的 基 本 单 位 5 二 、 如 何 定 义 事 务n 显 式 定 义 方 式BEGIN TRANSACTION BEGIN TRANSACTION SQL 语 句 1 SQL 语 句 1 SQL 语 句 2 SQL 语 句 2 。 。 。 。 。 。 。 。 。 。COMMIT ROLLBACKn 隐 式 方 式当 用 户 没 有 显 式 地 定 义 事 务 时 , DBMS按 缺 省 规定 自 动 划 分 事 务 。 6 事 务 结 束n COMMIT事 务 正 常 结 束 提 交 事 务 的 所 有 操 作 ( 读 +更 新 )事 务 中 所 有 对 数 据 库 的 更 新 永 久 生 效n ROLLBACK事 务 异 常 终 止事 务 运 行 的 过 程 中 发 生 了 故 障 , 不 能 继 续 执 行回 滚 事 务 的 所 有 更 新 操 作 事 务 回 滚 到 开 始 时 的 状 态 7 三 、 事 务 的 特 性 (ACID特 性 )事 务 的 ACID特 性 :n 原 子 性 ( Atomicity)n 一 致 性 ( Consistency)n 隔 离 性 ( Isolation)n 持 续 性 ( Durability ) 8 1. 原 子 性n 事 务 是 数 据 库 的 逻 辑 工 作 单 位事 务 中 包 括 的 诸 操 作 要 么 都 做 , 要 么 都 不 做保 证 原 子 性 是 数 据 库 系 统 本 身 的 职 责 , 由DBMS的 事 务 管 理 子 系 统 来 实 现 。 9 2. 一 致 性n 事 务 执 行 的 结 果 必 须 是 使 数 据 库 从 一 个 一 致 性状 态 变 到 另 一 个 一 致 性 状 态n 一 致 性 状 态 :数 据 库 中 只 包 含 成 功 事 务 提 交 的 结 果n 不 一 致 状 态 :数 据 库 中 包 含 失 败 事 务 的 结 果 10 一 致 性 与 原 子 性银 行 转 帐 : 从 帐 号 A中 取 出 一 万 元 , 存 入 帐 号 B。 定 义 一 个 事 务 , 该 事 务 包 括 两 个 操 作 这 两 个 操 作 要 么 全 做 , 要 么 全 不 做R全 做 或 者 全 不 做 , 数 据 库 都 处 于一 致 性 状 态 。R如 果 只 做 一 个 操 作 , 数 据 库 就 处 于 不 一 致 性 状 态 。 。 B=B+1 A=A-1 BA 11 3. 隔 离 性对 并 发 执 行 而 言n 一 个 事 务 的 执 行 不 能 被 其 他 事 务 干 扰n 一 个 事 务 内 部 的 操 作 及 使 用 的 数 据 对 其 他 并 发 事务 是 隔 离 的n 并 发 执 行 的 各 个 事 务 之 间 不 能 互 相 干 扰 12 4. 持 续 性n 持 续 性 也 称 永 久 性 ( Permanence)一 个 事 务 一 旦 提 交 , 它 对 数 据 库 中 数 据 的 改 变 就应 该 是 永 久 性 的 。接 下 来 的 其 他 操 作 或 故 障 不 应 该 对 其 执 行 结 果 有任 何 影 响 。 13 事 务 的 特 性 n 保 证 事 务 ACID特 性 是 事 务 处 理 的 任 务n 破 坏 事 务 ACID特 性 的 因 素多 个 事 务 并 行 运 行 时 , 不 同 事 务 的 操 作 交 叉 执行 ( DBMS必 须 保 证 多 个 事 务 的 交 叉 运 行 不 影响 这 些 事 务 的 隔 离 性 )事 务 在 运 行 过 程 中 被 强 行 停 止 ( DBMS必 须 保证 被 强 行 终 止 的 事 务 对 数 据 库 和 其 他 事 务 没 有任 何 影 响 ) 14 第 十 章 数 据 库 恢 复 技 术10.1 事 务 的 基 本 概 念10.2 数 据 库 恢 复 概 述10.3 故 障 的 种 类10.4 恢 复 的 实 现 技 术10.5 恢 复 策 略10.6 具 有 检 查 点 的 恢 复 技 术10.7 数 据 库 镜 像10.8 小 结 15 10.2 数 据 库 恢 复 概 述n 故 障 是 不 可 避 免 的计 算 机 硬 件 故 障系 统 软 件 和 应 用 软 件 的 错 误操 作 员 的 失 误恶 意 的 破 坏n 故 障 的 影 响运 行 事 务 非 正 常 中 断 破 坏 数 据 库 16 数 据 库 恢 复 概 述 ( 续 )n 数 据 库 管 理 系 统 对 故 障 的 对 策DBMS提 供 恢 复 子 系 统保 证 故 障 发 生 后 , 能 把 数 据 库 中 的 数 据 从 错 误状 态 恢 复 到 某 一 已 知 的 正 确 状 态保 证 事 务 ACIDn 恢 复 技 术 是 衡 量 系 统 优 劣 的 重 要 指 标 17 第 十 章 数 据 库 恢 复 技 术10.1 事 务 的 基 本 概 念10.2 数 据 库 恢 复 概 述10.3 故 障 的 种 类10.4 恢 复 的 实 现 技 术10.5 恢 复 策 略10.6 具 有 检 查 点 的 恢 复 技 术10.7 数 据 库 镜 像10.8 小 结 18 10.3 故 障 的 种 类n 事 务 故 障n 系 统 故 障n 介 质 故 障n 计 算 机 病 毒 19 一 、 事 务 故 障n 什 么 是 事 务 故 障某 个 事 务 在 运 行 过 程 中 由 于 种 种 原 因 未 运 行 至正 常 终 止 点 就 夭 折 了 。n 事 务 故 障 的 常 见 原 因输 入 数 据 有 误运 算 溢 出违 反 了 某 些 完 整 性 限 制某 些 应 用 程 序 出 错并 行 事 务 发 生 死 锁 20 事 务 故 障 的 恢 复n 发 生 事 务 故 障 时 , 夭 折 的 事 务 可 能 已 把 对 数 据 库的 部 分 修 改 写 回 磁 盘n 事 务 故 障 的 恢 复 : 撤 消 事 务 ( UNDO)n 强 行 回 滚 ( ROLLBACK) 该 事 务n 清 除 该 事 务 对 数 据 库 的 所 有 修 改 , 使 得 这 个 事 务象 根 本 没 有 启 动 过 一 样 21 二 、 系 统 故 障n 什 么 是 系 统 故 障 (软 故 障 )整 个 系 统 的 正 常 运 行 突 然 被 破 坏所 有 正 在 运 行 的 事 务 都 非 正 常 终 止内 存 中 数 据 库 缓 冲 区 的 信 息 全 部 丢 失外 部 存 储 设 备 上 的 数 据 未 受 影 响 22 系 统 故 障 的 常 见 原 因n 操 作 系 统 或 DBMS代 码 错 误n 操 作 员 操 作 失 误n 特 定 类 型 的 硬 件 错 误 ( 如 CPU故 障 )n 突 然 停 电 23 系 统 故 障 的 恢 复n 清 除 尚 未 完 成 的 事 务 对 数 据 库 的 所 有 修 改系 统 重 新 启 动 时 , 恢 复 程 序 要 强 行 撤 消( UNDO) 所 有 未 完 成 事 务n 将 缓 冲 区 中 已 完 成 事 务 提 交 的 结 果 写 入 数 据 库系 统 重 新 启 动 时 , 恢 复 程 序 需 要 重 做 ( REDO)所 有 已 提 交 的 事 务 24 三 、 介 质 故 障n 硬 件 故 障 使 存 储 在 外 存 中 的 数 据 部 分 丢 失 或 全 部丢 失n 介 质 故 障 比 前 两 类 故 障 的 可 能 性 小 得 多 , 但 破 坏性 大 得 多 25 介 质 故 障 的 常 见 原 因n 硬 件 故 障磁 盘 损 坏磁 头 碰 撞瞬 时 强 磁 场 干 扰 26 四 、 计 算 机 病 毒n 计 算 机 病 毒 是 一 种 人 为 的 故 障 或 破 坏 , 是 一 些 恶作 剧 者 研 制 的 一 种 计 算 机 程 序 。n 繁 殖 和 传 播 性 强 , 危 害 极 大 。事 务 故 障 、 系 统 故 障 和 介 质 故 障 影 响 事 务 的 正 常 执行 ; 介 质 故 障 和 计 算 机 病 毒 破 坏 数 据 库 中 的 数 据 。 27 恢 复 操 作 的 基 本 原 理n 恢 复 操 作 的 基 本 原 理 : 冗 余利 用 存 储 在 系 统 其 它 地 方 的 冗 余 数 据 来 重 建 数据 库 中 已 被 破 坏 或 不 正 确 的 那 部 分 数 据 。n 恢 复 的 实 现 技 术 : 复 杂一 个 大 型 数 据 库 产 品 , 恢 复 子 系 统 的 代 码 要 占全 部 代 码 的 10%以 上 。 28 第 十 章 数 据 库 恢 复 技 术10.1 事 务 的 基 本 概 念10.2 数 据 库 恢 复 概 述10.3 故 障 的 种 类10.4 恢 复 的 实 现 技 术10.5 恢 复 策 略10.6 具 有 检 查 点 的 恢 复 技 术10.7 数 据 库 镜 像10.8 小 结 29 10.4 恢 复 的 实 现 技 术n 恢 复 机 制 涉 及 的 关 键 问 题1. 如 何 建 立 冗 余 数 据R数 据 转 储 ( backup)R登 录 日 志 文 件 ( logging)2. 如 何 利 用 这 些 冗 余 数 据 实 施 数 据 库 恢 复 30 10.4 恢 复 的 实 现 技 术10.4.1 数 据 转 储10.4.2 登 记 日 志 文 件 31 10.4.1 数 据 转 储一 、 什 么 是 转 储二 、 转 储 的 用 途三 、 转 储 方 法 32 一 、 什 么 是 转 储n 转 储 是 指 DBA将 整 个 数 据 库 复 制 到 磁 带 或 另 一 个磁 盘 上 保 存 起 来 的 过 程 。n 这 些 备 用 的 数 据 文 本 称 为 后 备 副 本 或 后 援 副 本 。 33 转 储 故 障 发 生 点 转 储 运 行 事 务 正 常 运 行 Ta Tb Tf 重 装 后 备 副 本 重 新 运 行 事 务恢 复 34 三 、 转 储 方 法1 静 态 转 储 与 动 态 转 储2 海 量 转 储 与 增 量 转 储3 转 储 方 法 小 结 35 1 静 态 转 储n 在 系 统 中 无 运 行 事 务 时 进 行 转 储n 转 储 开 始 时 数 据 库 处 于 一 致 性 状 态n 转 储 期 间 不 允 许 对 数 据 库 的 任 何 存 取 、 修 改 活 动n 优 点 : 实 现 简 单n 缺 点 : 降 低 了 数 据 库 的 可 用 性转 储 必 须 等 用 户 事 务 结 束新 的 事 务 必 须 等 转 储 结 束 36 动 态 转 储n 转 储 操 作 与 用 户 事 务 并 发 进 行n 转 储 期 间 允 许 对 数 据 库 进 行 存 取 或 修 改n 优 点不 用 等 待 正 在 运 行 的 用 户 事 务 结 束不 会 影 响 新 事 务 的 运 行n 动 态 转 储 的 缺 点不 能 保 证 副 本 中 的 数 据 正 确 有 效 37 动 态 转 储n 利 用 动 态 转 储 得 到 的 副 本 进 行 故 障 恢 复需 要 把 动 态 转 储 期 间 各 事 务 对 数 据 库 的 修 改 活动 登 记 下 来 , 建 立 日 志 文 件后 备 副 本 加 上 日 志 文 件 才 能 把 数 据 库 恢 复 到 某一 时 刻 的 正 确 状 态 38 2 海 量 转 储 与 增 量 转 储n 海 量 转 储 : 每 次 转 储 全 部 数 据 库n 增 量 转 储 : 只 转 储 上 次 转 储 后 更 新 过 的 数 据n 海 量 转 储 与 增 量 转 储 比 较从 恢 复 角 度 看 , 使 用 海 量 转 储 得 到 的 后 备 副 本进 行 恢 复 往 往 更 方 便但 如 果 数 据 库 很 大 , 事 务 处 理 又 十 分 频 繁 , 则增 量 转 储 方 式 更 实 用 更 有 效 39 3 转 储 方 法 小 结n 转 储 方 法 分 类 转 储 状 态动 态 转 储 静 态 转 储转 储方 式 海 量 转 储 动 态 海 量 转 储 静 态 海 量 转 储增 量 转 储 动 态 增 量 转 储 静 态 增 量 转 储 40 转 储 策 略n 应 定 期 进 行 数 据 转 储 , 制 作 后 备 副 本 。n 但 转 储 又 十 分 耗 费 时 间 和 资 源 , 不 能 频 繁 进 行 。n DBA应 该 根 据 数 据 库 使 用 情 况 确 定 适 当 的 转 储周 期 和 转 储 方 法 。 例 :每 天 晚 上 进 行 动 态 增 量 转 储每 周 进 行 一 次 动 态 海 量 转 储每 月 进 行 一 次 静 态 海 量 转 储 41 10.4 恢 复 的 实 现 技 术10.4.1 数 据 转 储10.4.2 登 记 日 志 文 件 42 10.4.2 登 记 日 志 文 件一 、 日 志 文 件 的 内 容二 、 日 志 文 件 的 用 途三 、 登 记 日 志 文 件 的 原 则 43 一 、 日 志 文 件 的 内 容1. 什 么 是 日 志 文 件日 志 文 件 (log)是 用 来 记 录 事 务 对 数 据 库 的 更 新操 作 的 文 件2. 日 志 文 件 的 格 式以 记 录 为 单 位 的 日 志 文 件以 数 据 块 为 单 位 的 日 志 文 件 44 日 志 文 件 的 内 容 ( 续 )3. 日 志 文 件 内 容各 个 事 务 的 开 始 标 记 (BEGIN TRANSACTION)各 个 事 务 的 结 束 标 记 (COMMIT或 ROLLBACK)各 个 事 务 的 所 有 更 新 操 作与 事 务 有 关 的 内 部 更 新 操 作n 日 志 文 件 中 的 一 个 日 志 记 录 (log record) 45 4. 基 于 记 录 的 日 志 文 件n 每 条 日 志 记 录 的 内 容事 务 标 识操 作 类 型 ( 插 入 、 删 除 或 修 改 )操 作 对 象 ( 记 录 ID、 Block NO.)更 新 前 数 据 的 旧 值 ( 对 插 入 操 作 而 言 , 此 项 为 空 值 )更 新 后 数 据 的 新 值 ( 对 删 除 操 作 而 言 , 此 项 为 空 值 ) 46 5. 基 于 数 据 块 的 日 志 文 件n 每 条 日 志 记 录 的 内 容事 务 标 识 ( 标 明 是 那 个 事 务 )操 作 对 象 ( 记 录 ID、 Block NO.)更 新 前 数 据 所 在 的 整 个 数 据 块 的 值 ( 对 插 入 操 作而 言 , 此 项 为 空 值 )更 新 后 整 个 数 据 块 的 值 ( 对 删 除 操 作 而 言 , 此 项为 空 值 ) 47 二 、 日 志 文 件 的 用 途1 用 途进 行 事 务 故 障 恢 复进 行 系 统 故 障 恢 复协 助 后 备 副 本 进 行 介 质 故 障 恢 复 48 日 志 文 件 的 用 途 ( 续 )2 与 静 态 转 储 后 备 副 本 配 合 进 行 介 质 故 障 恢 复静 态 转 储 的 数 据 已 是 一 致 性 的 数 据如 果 静 态 转 储 完 成 后 , 仍 能 定 期 转 储 日 志 文 件 ,则 在 出 现 介 质 故 障 重 装 数 据 副 本 后 , 可 以 利 用 这些 日 志 文 件 副 本 对 已 完 成 的 事 务 进 行 重 做 处 理 。这 样 不 必 重 新 运 行 那 些 已 完 成 的 事 务 程 序 就 可 把数 据 库 恢 复 到 故 障 前 某 一 时 刻 的 正 确 状 态 。 49 日 志 文 件 的 用 途 ( 续 ) 故 障 发 生 点 静 态 转 储 运 行 事 务 正 常 运 行 Ta Tb Tf 登 记 日 志 文 件 重 装 后 备 副 本 利 用 日 志 文 件 恢 复 事 务 继 续 运 行介 质 故 障 恢 复 登 记 日 志 文 件 50 日 志 文 件 的 用 途 ( 续 )3 介 质 故 障 恢 复 : LOG FILE + 动 态 转 储 后 备 副 本动 态 转 储 数 据 库 : 同 时 转 储 同 一 时 点 的 日 志 文 件后 备 副 本 与 该 日 志 文 件 结 合 起 来 才 能 将 数 据 库 恢复 到 一 致 性 状 态 。利 用 这 些 日 志 文 件 副 本 进 一 步 恢 复 事 务 , 避 免 重新 运 行 事 务 程 序 。 51 三 、 登 记 日 志 文 件 的 原 则n 为 保 证 数 据 库 是 可 恢 复 的 , 登 记 日 志 文 件 时 必 须 遵循 两 条 原 则登 记 的 次 序 严 格 按 并 行 事 务 执 行 的 时 间 次 序必 须 先 写 日 志 文 件 , 后 写 数 据 库R写 日 志 文 件 操 作 : 把 表 示 这 个 修 改 的 日 志 记 录 写 到 日 志 文 件R写 数 据 库 操 作 : 把 对 数 据 的 修 改 写 到 数 据 库 中 52 登 记 日 志 文 件 的 原 则 ( 续 )n 为 什 么 要 先 写 日 志 文 件 写 数 据 库 和 写 日 志 文 件 是 两 个 不 同 的 操 作 在 这 两 个 操 作 之 间 可 能 发 生 故 障 如 果 先 写 了 数 据 库 修 改 , 而 在 日 志 文 件 中 没 有 登记 下 这 个 修 改 , 则 以 后 就 无 法 恢 复 这 个 修 改 了 如 果 先 写 日 志 , 但 没 有 修 改 数 据 库 , 按 日 志 文 件恢 复 时 只 不 过 是 多 执 行 一 次 不 必 要 的 UNDO操 作 ,并 不 会 影 响 数 据 库 的 正 确 性 53 第 十 章 数 据 库 恢 复 技 术10.1 事 务 的 基 本 概 念10.2 数 据 库 恢 复 概 述10.3 故 障 的 种 类10.4 恢 复 的 实 现 技 术10.5 恢 复 策 略10.6 具 有 检 查 点 的 恢 复 技 术10.7 数 据 库 镜 像10.8 小 结 54 10.5 恢 复 策 略10.5.1 事 务 故 障 的 恢 复10.5.2 系 统 故 障 的 恢 复10.5.3 介 质 故 障 的 恢 复 55 10.5.1 事 务 故 障 的 恢 复n 事 务 故 障 : 事 务 在 运 行 至 正 常 终 止 点 前 被 中 止n 恢 复 方 法由 恢 复 子 系 统 应 利 用 日 志 文 件 撤 消 ( UNDO) 此事 务 已 对 数 据 库 进 行 的 修 改n 事 务 故 障 的 恢 复 由 系 统 自 动 完 成 , 不 需 要 用 户 干 预 56 事 务 故 障 的 恢 复 步 骤1. 反 向 扫 描 文 件 日 志 ( 即 从 最 后 向 前 扫 描 日 志 文 件 ) , 查找 该 事 务 的 更 新 操 作 。2. 对 该 事 务 的 更 新 操 作 执 行 逆 操 作 。 即 将 日 志 记 录 中 “ 更新 前 的 值 ” ( Befor Image, BI) 写 入 数 据 库 。 插 入 操 作 , “ 更 新 前 的 值 ” 为 空 , 则 相 当 于 做 删 除 操作 删 除 操 作 , “ 更 新 后 的 值 ” 为 空 , 则 相 当 于 做 插 入 操作 若 是 修 改 操 作 , 则 用 BI 代 替 AI( After Image) 57 事 务 故 障 的 恢 复 步 骤3. 继 续 反 向 扫 描 日 志 文 件 , 查 找 该 事 务 的 其 他 更 新操 作 , 并 做 同 样 处 理 。4. 如 此 处 理 下 去 , 直 至 读 到 此 事 务 的 开 始 标 记 , 事务 故 障 恢 复 就 完 成 了 。 58 10.5.2 系 统 故 障 的 恢 复n 系 统 故 障 造 成 数 据 库 不 一 致 状 态 的 原 因一 些 未 完 成 事 务 对 数 据 库 的 更 新 已 写 入 数 据 库一 些 已 提 交 事 务 对 数 据 库 的 更 新 还 留 在 缓 冲 区 没来 得 及 写 入 数 据 库n 恢 复 方 法1. Undo 故 障 发 生 时 未 完 成 的 事 务2. Redo 已 完 成 的 事 务n 系 统 故 障 的 恢 复 由 系 统 在 重 新 启 动 时 自 动 完 成 , 不需 要 用 户 干 预 59 系 统 故 障 的 恢 复 步 骤1.正 向 扫 描 日 志 文 件 ( 即 从 头 扫 描 日 志 文 件 )Redo队 列 : 在 故 障 发 生 前 已 经 提 交 的 事 务 T1, T3, T8.Undo队 列 :故 障 发 生 时 尚 未 完 成 的 事 务 T2, T4, T5, T6, T7, T9 . 60 系 统 故 障 的 恢 复 步 骤2. 对 Undo队 列 事 务 进 行 UNDO处 理反 向 扫 描 日 志 文 件 , 对 每 个 UNDO事 务 的 更 新 操作 执 行 逆 操 作 T2, T4, T5, T6, T7, T9 3. 对 Redo队 列 事 务 进 行 REDO处 理正 向 扫 描 日 志 文 件 , 对 每 个 REDO事 务 重 新 执 行 登记 的 操 作 T1, T3, T8. 61 10.5.3 介 质 故 障 的 恢 复1. 重 装 数 据 库 , 使 数 据 库 恢 复 到 一 致 性 状 态2. 重 做 已 完 成 的 事 务 62 10.5.3 介 质 故 障 的 恢 复n 恢 复 步 骤1. 装 入 最 新 的 后 备 数 据 库 副 本 , 使 数 据 库 恢 复 到 最 近 一次 转 储 时 的 一 致 性 状 态 。 对 于 静 态 转 储 的 数 据 库 副 本 , 装 入 后 数 据 库 即 处 于一 致 性 状 态 对 于 动 态 转 储 的 数 据 库 副 本 , 还 须 同 时 装 入 转 储 时刻 的 日 志 文 件 副 本 , 利 用 与 恢 复 系 统 故 障 相 同 的 方法 ( 即 REDO+UNDO) , 才 能 将 数 据 库 恢 复 到 一致 性 状 态 。 63 利 用 静 态 转 储 副 本 将 数 据 库 恢 复 到 一 致 性 状 态 故 障 发 生 点 静 态 转 储 运 行 事 务 正 常 运 行 Ta Tb Tf 登 记 日 志 文 件 重 装 后 备 副 本 恢 复 64 利 用 动 态 转 储 副 本 将 数 据 库 恢 复 到 一 致 性 状 态 Ta Tb Tf 动 态 转 储 运 行 事 务 故 障 发 生 点正 常 运 行 登 记 日 志 文 件 登 记 新 日 志 文 件 转 储 日 志 文 件 重 装 后 备 副 本 , 然 后 利 用 转 储 的 日 志 文 件 恢 复恢 复 到 一 致 性 状 态 65 介 质 故 障 的 恢 复 ( 续 )2. 装 入 有 关 的 日 志 文 件 副 本 , 重 做 已 完 成 的 事 务 。首 先 扫 描 日 志 文 件 , 找 出 故 障 发 生 时 已 提 交 的事 务 的 标 识 , 将 其 记 入 重 做 队 列 。然 后 正 向 扫 描 日 志 文 件 , 对 重 做 队 列 中 的 所 有事 务 进 行 重 做 处 理 。 即 将 日 志 记 录 中 “ 更 新 后的 值 ” 写 入 数 据 库 。 66 介 质 故 障 的 恢 复 ( 续 )介 质 故 障 的 恢 复 需 要 DBA介 入n DBA的 工 作重 装 最 近 转 储 的 数 据 库 副 本 和 有 关 的 各 日 志 文 件副 本执 行 系 统 提 供 的 恢 复 命 令n 具 体 的 恢 复 操 作 仍 由 DBMS完 成 67 第 十 章 数 据 库 恢 复 技 术10.1 事 务 的 基 本 概 念10.2 数 据 库 恢 复 概 述10.3 故 障 的 种 类10.4 恢 复 的 实 现 技 术10.5 恢 复 策 略10.6 具 有 检 查 点 的 恢 复 技 术10.7 数 据 库 镜 像10.8 小 结 68 10.6 具 有 检 查 点 的 恢 复 技 术一 、 问 题 的 提 出二 、 检 查 点 技 术三 、 利 用 检 查 点 的 恢 复 策 略 69 一 、 问 题 的 提 出n 两 个 问 题搜 索 整 个 日 志 将 耗 费 大 量 的 时 间REDO处 理 : 重 新 执 行 , 浪 费 了 大 量 时 间 70 解 决 方 案n 具 有 检 查 点 ( checkpoint) 的 恢 复 技 术在 日 志 文 件 中 增 加 检 查 点 记 录 ( checkpoint)增 加 重 新 开 始 文 件恢 复 子 系 统 在 登 录 日 志 文 件 期 间 动 态 地 维 护 日 志 71 二 、 检 查 点 技 术n 检 查 点 记 录 的 内 容1. 建 立 检 查 点 时 刻 所 有 正 在 执 行 的 事 务 清 单2. 这 些 事 务 最 近 一 个 日 志 记 录 的 地 址n 重 新 开 始 文 件 的 内 容记 录 各 个 检 查 点 记 录 在 日 志 文 件 中 的 地 址 72 73 在 检 查 点 维 护 日 志 文 件1.将 当 前 日 志 缓 冲 区 中 的 所 有 日 志 记 录 写 入 磁 盘 的日 志 文 件 上 。2.在 日 志 文 件 中 写 入 一 个 检 查 点 记 录 。3. 将 当 前 数 据 缓 冲 区 的 所 有 数 据 记 录 写 入 磁 盘 的数 据 库 中 。4. 把 检 查 点 记 录 在 日 志 文 件 中 的 地 址 写 入 一 个 重新 开 始 文 件 。 74 建 立 检 查 点n 定 期按 照 预 定 的 一 个 时 间 间 隔n 不 定 期按 照 某 种 规 则 , 如 日 志 文 件 已 写 满 一 半 建 立 一个 检 查 点 75 三 、 利 用 检 查 点 的 恢 复 策 略n 当 事 务 T在 一 个 检 查 点 之 前 提 交T对 数 据 库 所 做 的 修 改 已 写 入 数 据 库n 在 进 行 恢 复 处 理 时 , 没 有 必 要 对 事 务 T执 行 REDO操 作 76 利 用 检 查 点 的 恢 复 策 略 ( 续 )Tc (检 查 点 ) Tf(系 统 故 障 ) REDO UNDOUNDO REDOT2 T 3 T4 T5不 要 REDOT1 77 利 用 检 查 点 的 恢 复 步 骤1. 从 重 新 开 始 文 件 中 找 到 最 后 一 个 检 查 点 记 录 在 日志 文 件 中 的 地 址2. 由 该 地 址 在 日 志 文 件 中 找 到 最 后 一 个 检 查 点 记 录 78 利 用 检 查 点 的 恢 复 策 略 ( 续 )2.由 该 检 查 点 记 录 得 到 检 查 点 建 立 时 刻 所 有 正 在 执 行的 事 务 清 单 ACTIVE-LIST建 立 两 个 事 务 队 列RUNDO-LIST RREDO-LIST 把 ACTIVE-LIST暂 时 放 入 UNDO-LIST队 列 ,REDO队 列 暂 为 空 。 79 利 用 检 查 点 的 恢 复 策 略 ( 续 )3.从 检 查 点 开 始 正 向 扫 描 日 志 文 件 , 直 到 日 志 文 件 结 束如 有 新 开 始 的 事 务 Ti, 把 Ti暂 时 放 入 UNDO-LIST队列如 有 提 交 的 事 务 Tj, 把 Tj从 UNDO-LIST队 列 移 到REDO-LIST队 列4.对 UNDO-LIST中 的 每 个 事 务 执 行 UNDO操 作 , 对REDO-LIST中 的 每 个 事 务 执 行 REDO操 作 80 第 十 章 数 据 库 恢 复 技 术10.1 事 务 的 基 本 概 念10.2 数 据 库 恢 复 概 述10.3 故 障 的 种 类10.4 恢 复 的 实 现 技 术10.5 恢 复 策 略10.6 具 有 检 查 点 的 恢 复 技 术10.7 数 据 库 镜 像10.8 小 结 81 10.7 数 据 库 镜 像n 介 质 故 障 是 对 系 统 影 响 最 为 严 重 的 一 种 故 障 , 严 重影 响 数 据 库 的 可 用 性介 质 故 障 恢 复 比 较 费 时为 预 防 介 质 故 障 , DBA必 须 周 期 性 地 转 储 数 据 库n 提 高 数 据 库 可 用 性 的 解 决 方 案数 据 库 镜 像 ( Mirror) 82 数 据 库 镜 像 ( 续 )n 数 据 库 镜 像DBMS自 动 把 整 个 数 据 库 或 其 中 的 关 键 数 据 复制 到 另 一 个 磁 盘 上DBMS自 动 保 证 镜 像 数 据 与 主 数 据 的 一 致 性 (图10.5a) 83 数 据 库 镜 像 的 用 途n 出 现 介 质 故 障 时DBMS自 动 利 用 镜 像 磁 盘 数 据 进 行 数 据 库 的 恢 复 ,不 需 要 关 闭 系 统 和 重 装 数 据 库 副 本 (图 10.5b)n 没 有 出 现 故 障 时可 用 于 并 发 操 作 (图 10.5a)一 个 用 户 对 数 据 加 排 他 锁 修 改 数 据其 他 用 户 可 以 读 镜 像 数 据 库 上 的 数 据 84 数 据 库 镜 像 ( 续 ) 85 第 十 章 数 据 库 恢 复 技 术10.1 事 务 的 基 本 概 念10.2 数 据 库 恢 复 概 述10.3 故 障 的 种 类10.4 恢 复 的 实 现 技 术10.5 恢 复 策 略10.6 具 有 检 查 点 的 恢 复 技 术10.7 数 据 库 镜 像10.8 小 结 86 10.8 小 结n 如 果 数 据 库 只 包 含 成 功 事 务 提 交 的 结 果 , 就 说 数据 库 处 于 一 致 性 状 态 。 保 证 数 据 一 致 性 是 对 数 据库 的 最 基 本 的 要 求 。n 事 务 是 数 据 库 的 逻 辑 工 作 单 位DBMS保 证 系 统 中 一 切 事 务 的 原 子 性 、 一 致 性 、隔 离 性 和 持 续 性 87 小 结 ( 续 )n DBMS必 须 对 事 务 故 障 、 系 统 故 障 和 介 质 故 障 进行 恢 复n 恢 复 中 最 经 常 使 用 的 技 术 : 数 据 库 转 储 和 登 记 日志 文 件n 恢 复 的 基 本 原 理 : 利 用 存 储 在 后 备 副 本 、 日 志 文件 和 数 据 库 镜 像 中 的 冗 余 数 据 来 重 建 数 据 库 88 小 结 ( 续 )n 常 用 恢 复 技 术事 务 故 障 的 恢 复RUNDO系 统 故 障 的 恢 复RUNDO + REDO介 质 故 障 的 恢 复R重 装 备 份 并 恢 复 到 一 致 性 状 态 + REDO 89 小 结 ( 续 ) n 提 高 恢 复 效 率 的 技 术检 查 点 技 术R可 以 提 高 系 统 故 障 的 恢 复 效 率R可 以 在 一 定 程 度 上 提 高 利 用 动 态 转 储 备 份 进 行介 质 故 障 恢 复 的 效 率镜 像 技 术R镜 像 技 术 可 以 改 善 介 质 故 障 的 恢 复 效 率 90 下 课 了 。 。 。休 息 一 会 儿 。 。 。
展开阅读全文