24.03.2015 Views

老蒋谈存储案例教学 - LinuxTone.Org

老蒋谈存储案例教学 - LinuxTone.Org

老蒋谈存储案例教学 - LinuxTone.Org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

数 据 块 ,512bytes 系 统 块 ), 这 样 的 话 可 能 出 现 一 个 数 据 块 包 含 了 几 个 不 同 版 本<br />

的 操 作 系 统 块 , 会 导 致 数 据 块 的 不 一 致 , 所 以 在 备 份 模 式 下 如 果 有 语 句 对 备 份 块<br />

产 生 更 新 , 那 么 oracle 会 先 把 当 前 块 复 制 一 份 到 redo, 当 恢 复 的 时 候 如 果 碰 到<br />

数 据 块 不 一 致 就 从 redo 把 这 个 镜 像 拷 贝 回 去 , 然 后 在 这 个 一 致 性 的 镜 像 开 始 恢<br />

复 。 如 果 使 用 rman 来 备 份 可 以 避 免 产 生 过 多 的 块 , 就 像 上 面 所 说 的 ,rman 会<br />

去 建 议 块 的 一 致 性 , 所 以 不 用 复 制 镜 像 块 到 日 志 。<br />

第 四 节 恢 复 oracle 数 据 库<br />

要 损 坏 Oracle 数 据 是 不 可 能 的 。 环 境 恢 复 的 机 制 保 证 了 这 一 点 , 就 是 使 用 redo<br />

和 undo 来 将 数 据 库 返 回 到 环 境 失 败 之 前 的 一 个 一 致 性 状 态 中 去 。 然 而 , 在 媒 介<br />

失 败 之 后 丢 失 数 据 是 可 能 的 —— 如 果 数 据 库 管 理 员 没 有 予 以 适 当 的 警 惕 。<br />

预 先 防 范 是 简 单 的 : 在 归 档 日 志 模 式 下 运 行 数 据 库 ; 多 路 传 送 控 制 文 件 , 在 线<br />

日 志 文 件 , 以 及 文 档 日 志 文 件 ; 支 持 数 据 文 件 和 文 档 日 志 文 件 。 在 媒 介 失 败 之 后 ,<br />

备 份 和 文 档 日 志 可 以 用 于 恢 复 数 据 库 到 失 败 前 的 点 , 不 丢 失 任 意 一 行 已 经 被 提 交<br />

的 数 据 。 但 是 , 尽 管 环 境 恢 复 的 确 是 自 动 化 的 , 不 可 避 免 的 —— 媒 介 恢 复 是 一 个<br />

手 工 的 过 程 。<br />

恢 复 结 构 和 处 理 过 程<br />

在 媒 介 失 败 之 后 , 有 不 同 的 技 术 用 于 恢 复 , 根 据 哪 个 文 件 被 损 坏 的 情 况 。 数<br />

据 库 由 3 种 文 件 类 型 组 成 : 控 制 文 件 、 在 线 redo 日 志 文 件 , 以 及 数 据 文 件 。 恢 复<br />

控 制 文 件 和 在 线 redo 日 志 文 件 的 过 程 是 一 个 繁 琐 的 过 程 , 它 们 是 通 过 多 路 传 送<br />

的 。 恢 复 一 个 或 者 多 个 数 据 文 件 的 过 程 是 比 较 复 杂 的 , 但 是 很 直 接 。 损 坏 的 控 制<br />

文 件 可 以 通 过 多 路 传 送 的 拷 贝 或 者 用 CREATE CONTROLFILE 命 令 重 新 创 建 的 控 制<br />

文 件 来 进 行 恢 复 。 在 极 端 的 情 况 下 , 它 可 以 从 备 份 中 重 新 存 储 , 但 是 这 一 点 在 媒<br />

介 失 败 之 后 是 从 来 不 需 要 的 , 如 果 你 遵 循 的 是 一 个 合 适 的 多 路 策 略 。 损 坏 的 在 线<br />

redo 文 件 也 可 以 被 重 新 生 成 ,Oracle 提 供 了 一 条 ALTER DATABASE CLEAR LOGFILE<br />

GROUP #(# 是 损 坏 成 员 的 组 的 号 码 ) 命 令 , 它 可 以 删 除 并 且 重 新 创 建 日 志 文 件 组 的<br />

成 员 。 如 果 数 据 库 运 行 的 是 文 档 日 志 模 式 ( 也 应 该 是 这 样 的 ), 日 志 文 件 组 必 须 在<br />

Oracle 允 许 执 行 清 楚 日 志 文 件 命 令 之 前 进 行 归 档 。 这 是 因 为 , 清 除 一 个 没 有 归<br />

档 的 日 志 文 件 组 , 就 意 味 着 文 档 日 志 流 会 丢 失 一 个 日 志 文 件 , 因 此 恢 复 就 是 不 可<br />

能 的 了 。 这 样 的 命 令 还 可 以 有 一 些 变 化 ,ALTER DATABASE CLEAR UNARCHIVED<br />

LOGFILE GROUP #, 它 可 以 删 除 并 重 新 创 建 日 志 文 件 , 即 使 是 它 没 有 成 功 地 归 档 ,<br />

PDF 文 件 使 用 "pdfFactory Pro" 试 用 版 本 创 建 www.fineprint.cn

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!