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.

临 时 表 空 间 顾 名 思 义 是 用 来 存 放 临 时 数 据 的 , 例 如 排 序 操 作 的 临 时 空 间 , 他 的 空 间 会 在 下<br />

次 系 统 启 动 的 时 候 全 部 被 释 放 。<br />

c. 回 滚 段 表 空 间<br />

i. 回 滚 段 在 系 统 中 的 作 用<br />

当 数 据 库 进 行 更 新 插 入 删 除 等 操 作 的 时 候 , 新 的 数 据 被 更 新 到 原 来 的 数 据 文 件 , 而 旧 的 数<br />

据 (Before Image) 就 被 放 到 回 滚 段 中 , 如 果 数 据 需 要 回 滚 , 那 么 可 以 从 回 滚 段 将 数 据 再 复 制 到<br />

数 据 文 件 中 。 来 完 成 数 据 的 回 滚 。 在 系 统 恢 复 的 时 候 , 回 滚 段 可 以 用 来 回 滚 没 有 被 commit 的<br />

数 据 , 解 决 系 统 的 一 至 性 。<br />

回 滚 段 在 什 么 情 况 下 都 是 大 量 的 写 , 一 般 是 少 量 读 , 因 此 建 议 把 回 滚 段 单 独 出 来 放 在 一 个<br />

单 独 的 设 备 ( 如 单 独 的 磁 盘 或 RAID), 以 减 少 磁 盘 的 IO 争 用 。<br />

ii. 回 滚 段 的 工 作 方 式<br />

一 个 回 滚 表 空 间 可 以 被 划 分 成 多 个 回 滚 段 .<br />

一 个 回 滚 段 可 以 保 存 多 个 会 话 的 数 据 .<br />

回 滚 段 是 一 个 圆 形 的 数 据 模 型<br />

假 设 回 滚 段 由 4 个 区 间 组 成 , 他 们 的 使 用 顺 序 就 是 区 间 1à 区 间 2à 区 间 3à 区 间 4à 区 间<br />

1。 也 就 是 说 , 区 间 是 可 以 循 环 使 用 的 , 当 区 间 4 到 区 间 1 的 时 候 , 区 间 1 里 面 的 会 话 还 没 有<br />

结 束 , 区 间 4 用 完 后 就 不 能 再 用 区 间 1, 这 时 系 统 必 须 分 配 区 间 5, 来 继 续 为 其 他 会 话 服 务 服 务 。<br />

我 们 分 析 一 个 Update 语 句 的 完 成<br />

1. 用 户 提 交 一 个 Update 语 句<br />

2. Server Process 检 查 内 存 缓 冲 .<br />

如 果 没 有 该 数 据 块 的 缓 冲 , 则 从 磁 盘 读 入<br />

i. 如 果 没 有 内 存 的 有 效 空 间 ,DBWR 被 启 动 将 未 写 入 磁 盘 的 脏 缓 冲 写 入 磁 盘<br />

ii. 如 果 有 有 效 空 间 , 则 读 入<br />

3. 在 缓 冲 内 更 新 数 据<br />

i. 申 请 一 个 回 滚 段 入 口 , 将 旧 数 据 写 如 回 滚 段<br />

ii. 加 锁 并 更 新 数 据<br />

iii. 并 在 同 时 将 修 改 记 录 在 Redo log buffer 中<br />

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

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

Saved successfully!

Ooh no, something went wrong!