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