AW R 分析报告解析 定 义 : awr报 告 是 oracle 10g下 提 供 的 一 种 性 能 收 集 和 分 析 工 具 , 它 能 提供 一 个 时 间 段 内 整 个 系 统 资 源 使 用 情 况 的 报 告 , 通 过 这 个 报 告 , 我 们 就 可 以 了 解一 个 系 统 的 整 个 运 行 情 况 , 这 就 像 一 个 人 全 面 的 体 检 报 告 。 一、 如何分析: 在看 awr报 告 的 时 候, 我 们 并不需要知道所有性 能 指标的 含义 , 就 可 以 判断出问题的 所在, 这 些性 能 指标其实代表了 oracle内 部实现, 对 oracle理解 的 越深, 在看 awr报 告 的 时 候, 对数据库性 能 的 判断也会越准确 在看性 能 指标的 时 候, 心里先要明白, 数据库出现性 能 问题, 一 般都在三个地方, io, 内 存, cpu, 这 三个 又是 息息相关的 (ps: 我 们 先假设这 个 三个 地方都没有物理上的 故障), 当 io负载增大时 , 肯定 需要更多的 内 存来存放, 同时也需要 cpu花费更多的 时 间 来过 滤这 些数据, 相反, cpu时 间 花费多的 话, 有可 能 是 解 析 sql语句, 也可 能 是 过 滤太多的 数据, 到不一 定 是 和 io或内 存有关系 了 。 当我 们 把一 条 sql送到数据库去执行 的 时 候,我 们 要知道,什么时 候用 到 cpu,什么时 候用 到内 存, 什么时 候用 到 io ? 1. cpu: 解 析 sql语句, 尝试多个 执行 计划, 最后生成一 个 数据库认为是 比较好的 执行 计划, 不一 定 是 最优的 , 因为关联表太多的 时 候, 数据库并不会穷举所 有 的 执 行 计 划 , 这 会 消 耗 太 多 的 时 间 , oracle怎 么 就 知 道 这 条 数 据 时 你 要 ,另 一 个 就 不 是 你 要 的 呢 , 这 是 需 要 cpu来 过 滤 的 。 2. 内存:sql语句和执 行 计 划 都需 要 在内存保留一 段时 间 ,还有 取到的 数 据 ,根据 lru算法也会 尽量在内存中保留, 在执 行 sql语句过 程中, 各种表之间 的 连接, 排序等操作也要 占用内存 3. io:如果需 要 的 数 据 在内存中没有 , 则需 要 到磁盘中去取, 就 会 用到物理io了, 还有 表之间 的 连接数...