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.

一 、ORACLE 实 例<br />

1、ORACLE 实 例<br />

System Global Area(SGA) 和 Background Process 称 为 数 据 库 的 实 例 。<br />

2、ORACLE 数 据 库<br />

从 物 理 上 看 是 由 一 系 列 物 理 文 件 的 集 合 ( 数 据 文 件 , 控 制 文 件 , 联 机 日 志 , 参 数 文 件 等 )<br />

3、 系 统 全 局 共 享 区 System Global Area(SGA)<br />

System Global Area 是 一 块 巨 大 的 共 享 内 存 区 域 , 他 被 看 做 是 Oracle 数 据 库 的 一 个 大 缓<br />

冲 池 , 这 里 的 数 据 可 以 被 ORACLE 的 各 个 进 程 共 用 。 其 大 小 可 以 通 过 如 下 语 句 查 看 :<br />

SQL> select * from v$sga;<br />

NAME VALUE<br />

-------------------- ---------<br />

Fixed Size 39816<br />

Variable Size 259812784<br />

Database Buffers 1.049E+09<br />

Redo Buffers 327680<br />

更 详 细 的 信 息 可 以 参 考 V$sgastat、V$buffer_pool<br />

主 要 包 括 以 下 几 个 部 分 :<br />

a、 共 享 池 (Shared pool)<br />

共 享 池 是 SGA 中 最 关 键 的 内 存 片 段 , 特 别 是 在 性 能 和 可 伸 缩 性 上 。 一 个 太 小 的 共 享 池 会<br />

扼 杀 性 能 , 使 系 统 停 止 , 太 大 的 共 享 池 也 会 有 同 样 的 效 果 , 将 会 消 耗 大 量 的 CPU 来 管 理 这 个<br />

共 享 池 。 不 正 确 的 使 用 共 享 池 只 会 带 来 灾 难 。 共 享 池 主 要 又 可 以 分 为 以 下 两 个 部 分 :<br />

SQL 语 句 缓 冲 (Library Cache)<br />

当 一 个 用 户 提 交 一 个 SQL 语 句 ,Oracle 会 将 这 句 SQL 进 行 分 析 (parse), 这 个 过 程 类 似<br />

于 编 译 , 会 耗 费 相 对 较 多 的 时 间 。 在 分 析 完 这 个 SQL,Oracle 会 把 他 的 分 析 结 果 给 保 存 在<br />

Shared pool 的 Library Cache 中 , 当 数 据 库 第 二 次 执 行 该 SQL 时 ,Oracle 自 动 跳 过 这 个 分 析<br />

过 程 , 从 而 减 少 了 系 统 运 行 的 时 间 。 这 也 是 为 什 么 第 一 次 运 行 的 SQL 比 第 二 次 运 行 的 SQL 要<br />

慢 一 点 的 原 因 。<br />

下 面 举 例 说 明 parse 的 时 间<br />

SQL> select count(*) from scpass ;<br />

COUNT(*)<br />

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

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

Saved successfully!

Ooh no, something went wrong!