24.03.2015 Views

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

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

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

在 Unix 上 可 以 通 过 如 下 方 法 查 看 后 台 进 程 :<br />

ps –ef | grep ora_<br />

# ps -ef | grep ora_ | grep XCLUAT<br />

oracle 29431 1 0 Sep 02 2:02 ora_dbwr_SID<br />

oracle 29444 1 0 Sep 02 0:03 ora_ckpt_SID<br />

oracle 29448 1 0 Sep 02 2:42 ora_smon_SID<br />

oracle 29442 1 0 Sep 02 3:25 ora_lgwr_SID<br />

oracle 29427 1 0 Sep 02 0:01 ora_pmon_SID<br />

a、Oracle 系 统 有 5 个 基 本 进 程 他 们 是<br />

DBWR( 数 据 文 件 写 入 进 程 )<br />

LGWR( 日 志 文 件 写 入 进 程 )<br />

SMON( 系 统 监 护 进 程 )<br />

PMON( 用 户 进 程 监 护 进 程 )<br />

CKPT( 检 查 点 进 程 , 同 步 数 据 文 件 , 日 志 文 件 , 控 制 文 件 )<br />

b、DBWR<br />

将 修 改 过 的 数 据 缓 冲 区 的 数 据 写 入 对 应 数 据 文 件<br />

维 护 系 统 内 的 空 缓 冲 区<br />

这 里 指 出 几 个 容 易 错 误 的 概 念 :<br />

当 一 个 更 新 提 交 后 ,DBWR 把 数 据 写 到 磁 盘 并 返 回 给 用 户 提 交 完 成 .<br />

DBWR 会 触 发 CKPT 后 台 进 程<br />

DBWR 不 会 触 发 LGWR 进 程<br />

上 面 的 概 念 都 是 错 误 的 .<br />

DBWR 是 一 个 很 底 层 的 工 作 进 程 , 他 批 量 的 把 缓 冲 区 的 数 据 写 入 磁 盘 。 和 任 何 前 台 用 户 的<br />

进 程 几 乎 没 有 什 么 关 系 , 也 不 受 他 们 的 控 制 。 至 于 DBWR 会 不 会 触 发 LGWR 和 CKPT 进 程 ,<br />

我 们 将 在 下 面 几 节 里 讨 论 。<br />

DBWR 工 作 的 主 要 条 件 如 下<br />

DBWR 超 时<br />

系 统 中 没 有 多 的 空 缓 冲 区 用 来 存 放 数 据<br />

CKPT 进 程 触 发 DBWR 等<br />

c、LGWR<br />

将 重 做 日 志 缓 冲 区 的 数 据 写 入 重 做 日 志 文 件 ,LGWR 是 一 个 必 须 和 前 台 用 户 进 程 通 信 的 进<br />

程 。 当 数 据 被 修 改 的 时 候 , 系 统 会 产 生 一 个 重 做 日 志 并 记 录 在 重 做 日 志 缓 冲 区 内 。 这 个 重 做 日<br />

志 可 以 类 似 的 认 为 是 以 下 的 一 个 结 构 :<br />

SCN=000000001000<br />

数 据 块 ID<br />

对 象 ID=0801<br />

数 据 行 =02<br />

修 改 后 的 数 据 =0011<br />

提 交 的 时 候 ,LGWR 必 须 将 被 修 改 的 数 据 的 重 做 日 志 缓 冲 区 内 数 据 写 入 日 志 数 据 文 件 , 然<br />

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

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

Saved successfully!

Ooh no, something went wrong!