Oracle 数 据 库 11g 中 的 分 区 Oracle 白 皮 书 2007 年 6 月 Oracle 数 据 库 11g 中 的 分 区 1
注 意 : 以 下 内 容 旨 在 概 述 产 品 的 总 体 发 展 方 向 此 信 息 仅 供 参 考, 不 可 纳 入 任 何 合 同 其 中 的 信 息 不 承 诺 提 供 任 何 资 料 代 码 或 功 能, 并 且 不 能 作 为 购 买 的 依 据 所 描 述 的 有 关 Oracle 产 品 的 任 何 特 性 或 功 能 的 开 发 发 行 和 时 间 安 排 均 由 Oracle 自 行 决 定 Oracle 数 据 库 11g 中 的 分 区 2
注 意 :...2 分 区 - 概 念...4 介 绍... 错 误! 未 定 义 书 签 分 区 的 优 势...4 分 区 的 基 本 知 识...4 使 用 分 区 提 高 可 管 理 性...6 使 用 分 区 提 高 性 能...6 使 用 分 区 提 高 可 用 性...7 分 区 为 业 务 建 模...7 基 本 分 区 策 略...7 分 区 扩 展...8 PARTITION ADVISOR...9 分 区 策 略 和 扩 展 概 述...9 利 用 分 区 进 行 信 息 生 命 周 期 管 理...10 总 结...11 Oracle 数 据 库 11g 中 的 分 区 3
Oracle 数 据 库 11g 中 的 分 区 分 区 - 概 念 简 介 Oracle 分 区 在 1997 年 的 Oracle 8.0 中 首 次 引 入, 它 是 Oracle 数 据 库 最 重 要 最 成 功 的 功 能 之 一, 可 以 提 高 数 以 万 计 的 应 用 程 序 的 性 能 可 管 理 性 和 可 用 性 Oracle 数 据 库 11g 引 入 了 第 8 代 分 区, 继 续 提 供 突 破 性 的 新 增 强 功 能 ; 新 的 分 区 技 术 使 客 户 能 够 针 对 更 多 的 业 务 案 例 进 行 建 模, 此 外, 全 新 的 分 区 建 议 和 自 动 化 框 架 使 所 有 人 都 能 使 用 Oracle 分 区 自 从 首 次 引 入 分 区 以 来,Oracle 数 据 库 11g 被 视 为 分 区 的 最 重 大 新 版 本, 它 可 以 在 今 后 十 年 内 继 续 保 护 客 户 在 分 区 上 的 投 资 分 区 的 优 势 分 区 可 以 通 过 提 高 可 管 理 性 性 能 和 可 用 性, 为 各 种 应 用 程 序 带 来 极 大 的 好 处 通 常, 分 区 可 以 使 某 些 查 询 以 及 维 护 操 作 的 性 能 大 大 提 高 此 外, 分 区 可 以 大 大 降 低 数 据 的 总 拥 有 成 本, 它 使 用 分 层 存 档 方 法 在 低 成 本 存 储 设 备 上 使 较 旧 的 相 关 信 息 保 持 联 机 状 态 如 果 要 在 大 型 环 境 中 进 行 信 息 生 命 周 期 管 理,Oracle 分 区 可 以 提 供 高 效 简 单 但 十 分 强 大 的 方 法 通 过 分 区, 数 据 库 设 计 人 员 和 管 理 员 能 够 解 决 前 沿 应 用 程 序 带 来 的 一 些 难 题 分 区 是 构 建 千 兆 字 节 数 据 系 统 或 超 高 可 用 性 系 统 的 关 键 工 具 分 区 的 基 本 知 识 分 区 能 够 将 表 索 引 或 按 索 引 组 织 的 表 进 一 步 细 分 为 小 块 这 些 数 据 库 对 象 的 小 块 称 为 分 区 每 个 分 区 都 有 自 己 的 名 称, 还 可 以 选 择 自 己 的 存 储 特 性 从 数 据 库 管 理 员 的 角 度 来 看, 分 区 后 的 对 象 具 有 多 个 小 块, 这 些 小 块 既 可 以 集 中 管 理, 也 可 以 单 独 管 理 这 就 使 管 理 员 在 管 理 分 区 后 的 对 象 时 具 有 相 当 大 的 灵 活 性 但 是, 从 应 用 程 序 的 角 度 来 看, 分 区 后 的 表 与 未 分 区 的 表 完 全 相 同 ; 在 使 用 SQL DML 命 令 访 问 分 区 后 的 表 时, 无 需 任 何 修 改 Oracle 数 据 库 11g 中 的 分 区 4
图 1: 从 应 用 程 序 角 度 和 DBA 角 度 看 待 分 区 后 的 表 数 据 库 对 象 ( 表 索 引 和 按 索 引 组 织 的 表 ) 是 使 用 分 区 键 进 行 分 区 的, 分 区 键 是 决 定 指 定 行 将 位 于 哪 个 分 区 的 一 个 列 集 例 如, 图 1 中 所 示 的 sales 表 是 按 销 售 日 期 范 围 分 区 的 ( 使 用 按 月 分 区 的 策 略 ); 表 将 作 为 单 一 的 普 通 表 显 示 给 所 有 应 用 程 序 然 而,DBA 可 以 单 独 管 理 和 存 储 每 个 月 度 分 区, 可 以 使 用 不 同 的 存 储 层, 对 较 旧 的 数 据 应 用 表 压 缩, 或 者 在 只 读 表 空 间 中 存 储 旧 数 据 的 完 整 范 围 索 引 可 以 与 基 础 表 的 基 本 分 区 策 略 耦 合, 也 可 以 不 与 之 耦 合, 与 选 定 的 索 引 分 区 策 略 无 关 应 该 根 据 业 务 需 求 选 择 相 应 的 索 引 分 区 策 略, 从 而 实 现 最 合 适 的 分 区, 以 支 持 任 何 类 型 的 应 用 程 序 Oracle 数 据 库 11g 可 区 分 三 种 类 型 的 分 区 索 引 局 部 索 引 : 局 部 索 引 是 针 对 分 区 表 的 索 引, 该 索 引 可 以 与 基 本 分 区 表 耦 合, 并 继 承 该 表 的 分 区 策 略 因 此, 局 部 索 引 的 每 个 分 区 仅 对 应 于 基 础 表 的 一 个 分 区 耦 合 可 实 现 优 化 的 分 区 维 护 ; 例 如, 在 删 除 表 分 区 之 后,Oracle 只 需 删 除 相 应 的 索 引 分 区 不 需 要 进 行 代 价 高 昂 的 索 引 维 护 局 部 索 引 在 数 据 仓 库 环 境 中 是 最 常 见 的 全 局 分 区 索 引 : 全 局 分 区 索 引 是 使 用 不 同 于 其 所 在 表 的 分 区 键 或 分 区 策 略 进 行 分 区 的 索 引, 其 所 在 表 可 以 是 分 区 表, 也 可 以 是 非 分 区 表 全 局 分 区 索 引 可 以 使 用 范 围 分 区 或 散 列 分 区 进 行 分 区, 还 可 以 解 除 与 基 础 表 的 耦 合 例 如, 某 个 表 可 以 按 月 份 进 行 范 围 分 区, 因 此 具 有 十 二 个 分 区, 而 该 表 上 的 索 引 则 可 以 使 用 不 同 的 分 区 键 进 行 范 围 分 区, 从 而 具 有 不 同 的 分 区 数 量 全 局 分 区 索 引 在 OLTP 中 比 在 数 据 仓 库 环 境 中 更 为 常 见 全 局 非 分 区 索 引 : 全 局 非 分 区 索 引 实 质 上 与 非 分 区 表 的 索 引 一 样 索 引 结 构 未 分 区 并 且 未 与 基 础 表 耦 合 在 数 据 仓 库 环 境 中, 全 局 非 分 区 索 引 的 最 常 见 用 法 是 实 现 主 键 约 束 另 一 方 面,OLTP 环 境 在 很 大 程 度 上 依 赖 于 全 局 非 分 区 索 引 Oracle 还 提 供 了 一 套 全 面 的 SQL 命 令 来 管 理 分 区 表, 其 中 包 括 添 加 新 分 区 删 除 分 区 分 解 分 区 移 动 分 区 合 并 分 区 截 断 分 区 以 及 有 选 择 地 压 缩 分 区 的 命 令 Oracle 数 据 库 11g 中 的 分 区 5
使 用 分 区 提 高 可 管 理 性 通 过 Oracle 分 区, 可 将 表 和 索 引 分 成 更 多 更 小 的 可 管 理 单 元, 从 而 使 数 据 库 管 理 员 能 以 分 而 治 之 的 方 式 管 理 数 据 使 用 分 区, 维 护 操 作 可 集 中 在 表 的 特 定 部 分 例 如, 数 据 库 管 理 员 可 以 压 缩 表 中 包 含 ( 例 如 )2006 年 数 据 的 单 个 分 区, 而 不 是 压 缩 整 个 表 对 于 整 个 数 据 库 对 象 的 维 护 操 作, 可 以 在 每 个 分 区 的 基 础 上 进 行, 从 而 将 维 护 工 作 分 解 成 更 容 易 管 理 的 小 块 利 用 分 区 提 高 可 管 理 性 的 一 个 典 型 用 法 是 支 持 数 据 仓 库 中 的 滚 动 视 窗 加 载 进 程 假 设 数 据 库 管 理 员 每 周 都 要 向 表 中 加 载 新 数 据, 则 可 以 对 该 表 进 行 范 围 分 区, 使 每 个 分 区 包 含 一 周 的 数 据 这 样, 加 载 进 程 就 只 需 添 加 新 的 分 区 添 加 一 个 分 区 的 操 作 比 修 改 整 个 表 的 效 率 高 很 多, 因 为 数 据 库 管 理 员 不 需 要 修 改 任 何 其 他 分 区 使 用 分 区 的 另 一 个 优 势 是, 在 移 除 数 据 时 可 以 删 除 整 个 分 区, 与 单 独 删 除 每 一 行 相 比, 这 个 操 作 非 常 高 效 快 速 使 用 分 区 提 高 性 能 通 过 限 制 要 检 查 或 要 操 作 的 数 据 量, 分 区 提 供 了 许 多 性 能 优 势 这 些 特 性 包 括 : 分 区 修 整 : 分 区 修 整 ( 又 称 为 分 区 清 除 ) 是 使 用 分 区 提 高 性 能 的 最 简 单 最 有 价 值 的 手 段 分 区 修 整 通 常 能 够 将 查 询 性 能 提 高 几 个 数 量 级 例 如, 假 设 某 个 应 用 程 序 包 含 一 个 存 储 订 单 历 史 记 录 的 ORDERS 表, 并 且 该 表 已 按 周 进 行 了 分 区 查 询 一 周 的 订 单 只 需 访 问 ORDERS 表 的 一 个 分 区 如 果 该 表 包 含 两 年 的 历 史 记 录, 则 这 个 查 询 只 需 要 访 问 一 个 分 区 而 不 是 104 个 分 区 仅 仅 由 于 分 区 修 整 的 作 用, 该 查 询 的 执 行 速 度 有 可 能 快 100 倍 分 区 修 整 能 与 所 有 其 他 Oracle 性 能 特 性 协 作 Oracle 公 司 将 把 分 区 修 整 技 术 与 索 引 技 术 连 结 技 术 或 并 行 访 问 方 法 结 合 使 用 分 区 智 能 联 接 : 分 区 可 以 通 过 称 为 分 区 智 能 联 接 的 技 术 提 高 多 表 联 接 的 性 能 如 果 两 个 表 要 联 接 在 一 起, 并 且 至 少 有 一 个 表 要 用 联 接 键 来 分 区, 则 可 以 使 用 分 区 智 能 联 接 分 区 智 能 联 接 可 将 联 接 表 的 大 型 联 接 分 解 成 相 同 数 据 集 的 较 小 联 接 这 里, 相 同 的 定 义 是 在 联 接 两 端 包 含 完 全 相 同 的 分 区 键 值 集, 从 而 确 保 只 有 这 些 相 同 数 据 集 的 联 接 才 会 产 生 结 果, 并 且 无 需 考 虑 其 他 数 据 集 Oracle 可 以 使 用 已 经 进 行 ( 物 理 ) 同 类 分 区 的 表 进 行 联 接, 或 者 在 运 行 时 透 明 地 重 新 分 配 ( 相 当 于 重 新 分 区 ) 一 个 表 来 创 建 与 其 他 表 的 分 区 相 匹 配 的 分 区 类 型 相 同 的 数 据 集, 从 而 在 较 短 的 时 间 内 完 成 整 个 联 接 这 就 为 串 行 和 并 行 执 行 带 来 了 显 著 的 性 能 改 善 Oracle 数 据 库 11g 中 的 分 区 6
使 用 分 区 提 高 可 用 性 分 区 的 数 据 库 对 象 具 有 分 区 独 立 性 该 分 区 独 立 性 特 点 是 高 可 用 性 策 略 的 一 个 重 要 部 分 例 如, 如 果 分 区 表 的 一 个 分 区 不 可 用, 但 该 表 的 所 有 其 他 分 区 仍 然 保 持 联 机 并 可 用 那 么, 应 用 程 序 可 以 继 续 对 该 分 区 表 执 行 查 询 和 事 务 处 理, 只 要 不 访 问 那 个 不 可 用 的 分 区, 这 些 数 据 库 操 作 都 能 够 成 功 运 行 数 据 库 管 理 员 可 以 指 定 各 分 区 存 放 在 不 同 的 表 空 间 里, 从 而 允 许 管 理 员 在 每 个 单 独 分 区 上 执 行 备 份 和 恢 复 操 作 ( 独 立 于 表 的 其 他 分 区 ) 因 此, 在 发 生 灾 难 的 情 况 下, 可 以 只 为 数 据 库 恢 复 包 含 活 动 数 据 的 分 区, 之 后 在 方 便 的 时 间 内 再 恢 复 其 他 分 区 中 的 非 活 动 数 据 这 样, 就 减 少 了 系 统 停 机 时 间 此 外, 分 区 还 可 以 减 少 计 划 停 机 时 间 由 于 分 区 改 善 了 性 能, 这 使 数 据 库 管 理 员 能 够 在 相 对 较 小 的 批 处 理 窗 口 中 完 成 大 型 数 据 库 对 象 的 维 护 操 作 分 区 为 业 务 建 模 Oracle 数 据 库 11g 提 供 了 一 组 最 全 面 的 分 区 策 略, 允 许 客 户 根 据 实 际 业 务 需 要 以 最 佳 方 式 调 整 数 据 细 分 所 提 供 的 所 有 分 区 策 略 都 依 赖 于 可 用 于 单 一 ( 一 级 ) 或 组 合 分 区 表 的 基 本 数 据 分 配 方 法 此 外,Oracle 还 提 供 了 多 种 分 区 扩 展, 可 以 提 高 分 区 键 选 择 的 灵 活 性, 根 据 需 要 提 供 自 动 化 分 区 创 建, 以 及 为 非 分 区 对 象 建 议 分 区 策 略 基 本 分 区 策 略 Oracle 分 区 提 供 了 三 种 基 本 数 据 分 配 方 法, 用 于 控 制 如 何 将 数 据 实 际 放 入 各 种 单 独 的 分 区 中, 如 : 范 围 : 数 据 基 于 分 区 键 值 的 范 围 分 配 ( 如 果 使 用 日 期 列 作 为 分 区 键, 则 January-2007 分 区 将 包 含 分 区 键 值 在 01-JAN- 2007 到 31-JAN-2007 之 间 的 行 ) 数 据 分 配 是 一 个 没 有 漏 洞 的 连 续 统 一 体, 范 围 的 较 低 边 界 由 前 一 范 围 的 较 高 边 界 自 动 定 义 列 表 : 数 据 分 配 由 分 区 键 的 值 列 表 定 义 ( 如 果 使 用 地 区 列 作 为 分 区 键, 则 North America 分 区 可 能 包 含 值 Canada USA 和 Mexico ) 可 以 定 义 一 个 特 殊 的 DEFAULT 分 区, 用 于 捕 获 未 由 任 何 列 表 显 式 定 义 的 所 有 分 区 键 值 散 列 : 将 散 列 算 法 用 于 分 区 键 以 确 定 给 定 行 的 分 区 与 其 他 两 个 数 据 分 配 方 法 不 同, 散 列 不 提 供 数 据 与 分 区 之 间 的 任 何 逻 辑 映 射 使 用 上 述 数 据 分 配 方 法, 可 以 将 表 分 成 单 一 表 或 组 合 分 区 表 : Oracle 数 据 库 11g 中 的 分 区 7
单 一 ( 一 级 ) 分 区 : 通 过 指 定 其 中 一 个 数 据 分 配 方 法 来 定 义 表, 并 使 用 一 个 或 多 个 列 作 为 分 区 键 例 如, 某 个 表 使 用 数 字 列 作 为 分 区 键, 并 具 有 两 个 分 区 less_than_five_hundred 和 less_than_thousand, less_than_thousand 分 区 包 含 符 合 以 下 条 件 的 行 :500 <= 分 区 键 <1000 您 可 以 指 定 范 围 列 表 和 散 列 分 区 表 组 合 分 区 : 使 用 两 个 数 据 分 配 方 法 的 组 合 来 定 义 组 合 分 区 表 首 先, 使 用 一 个 数 据 分 配 方 法 将 表 分 区, 然 后 使 用 第 二 个 数 据 分 配 方 法 为 每 个 分 区 进 一 步 划 分 子 分 区 给 定 分 区 的 所 有 子 分 区 一 起 代 表 数 据 的 逻 辑 子 集 例 如, 首 先 对 范 围 - 散 列 组 合 分 区 表 进 行 范 围 分 区, 然 后 使 用 散 列 分 区 技 术 为 每 个 单 独 的 范 围 分 区 进 一 步 划 分 子 分 区 所 提 供 的 组 合 分 区 技 术 包 括 范 围 - 散 列 范 围 - 列 表 范 围 - 范 围 列 表 - 范 围 列 表 - 列 表 和 列 表 - 散 列 可 以 使 用 范 围 散 列 和 列 表 分 区 对 按 索 引 组 织 的 表 (IOT) 进 行 分 区 组 合 分 区 不 支 持 IOT 分 区 扩 展 除 了 基 本 分 区 策 略 以 外,Oracle 还 提 供 了 分 区 扩 展 Oracle 数 据 库 11g 中 的 扩 展 主 要 关 注 两 个 目 标 : (a) 显 著 增 强 分 区 表 的 可 管 理 性 (b) 扩 展 分 区 键 定 义 的 灵 活 性 扩 展 包 括 : 间 隔 分 区 : 间 隔 分 区 是 Oracle 数 据 库 11g 中 的 一 个 新 的 分 区 策 略, 它 扩 展 了 范 围 方 法 的 功 能, 可 以 使 用 间 隔 定 义 来 定 义 同 类 分 区 范 围 当 分 区 的 数 据 首 次 插 入 时,Oracle 将 根 据 需 要 自 动 创 建 分 区, 而 非 显 式 指 定 单 独 的 范 围 间 隔 分 区 可 以 大 大 提 高 分 区 表 的 可 管 理 性 例 如, 可 以 定 义 一 个 间 隔 分 区 表, 以 便 Oracle 为 日 历 年 的 每 个 月 份 创 建 一 个 新 分 区 ; 随 后, 当 September 2007 的 第 一 条 记 录 插 入 数 据 库 时, 就 会 为 该 月 份 自 动 创 建 一 个 分 区 可 用 于 间 隔 分 区 表 的 技 术 包 括 间 隔 间 隔 - 列 表 间 隔 - 散 列 和 间 隔 - 范 围 引 用 分 区 :Oracle 数 据 库 11g 允 许 利 用 现 有 的 父 子 关 系 对 表 进 行 分 区 子 表 可 以 继 承 父 表 的 分 区 策 略, 而 无 需 在 子 表 中 存 储 父 表 的 分 区 键 列 在 没 有 引 用 分 区 的 情 况 下, 如 果 您 想 要 利 用 相 同 的 分 区 策 略, 就 必 须 将 父 表 的 所 有 分 区 键 列 复 制 到 子 表 ; 此 外, 引 用 分 区 还 允 许 您 根 据 逻 辑 数 据 模 型 自 然 地 对 表 进 行 分 区, 而 无 需 存 储 分 区 键 列, 从 而 减 少 了 非 规 范 化 的 手 动 开 销 并 节 省 了 空 间 引 用 分 区 还 可 以 透 明 地 继 承 所 有 分 区 维 护 操 作, 从 而 将 表 的 逻 辑 形 式 从 父 表 更 改 为 子 表 此 外, 引 用 分 区 还 可 以 为 父 表 和 子 表 的 同 类 分 区 自 动 进 行 分 区 智 能 联 接, 从 而 提 高 该 操 作 的 性 能 Oracle 数 据 库 11g 中 的 分 区 8
例 如, 父 表 ORDERS 根 据 ORDER_DATE 列 进 行 了 范 围 分 区 ; 其 子 表 ORDER ITEMS 没 有 包 含 ORDER_DATE 列, 但 可 以 根 据 对 ORDERS 表 的 引 用 进 行 分 区 如 果 ORDERS 表 按 月 份 分 区, 则 Jan-2007 订 单 的 所 有 订 单 项 将 存 储 在 ORDER ITEMS 表 的 单 个 分 区 中, 该 表 与 父 表 ORDERS 具 有 相 同 类 型 的 分 区 如 果 将 Feb-2007 分 区 添 加 到 ORDERS 表,Oracle 将 透 明 地 将 同 类 分 区 添 加 到 ORDER ITEMS 表 所 有 基 本 分 区 策 略 都 可 用 于 引 用 分 区 基 于 虚 拟 列 的 分 区 : 在 以 前 的 Oracle 版 本 中, 只 有 当 分 区 键 以 物 理 方 式 存 在 于 表 中, 才 可 以 对 表 进 行 分 区 虚 拟 列 是 Oracle 数 据 库 11g 中 的 一 个 新 功 能, 该 功 能 移 除 了 这 个 限 制, 并 允 许 使 用 表 达 式 定 义 分 区 键, 以 便 使 用 表 的 一 个 或 多 个 现 有 列, 并 将 表 达 式 仅 作 为 元 数 据 存 储 分 区 已 经 得 到 增 强, 以 允 许 在 虚 拟 列 上 定 义 分 区 策 略, 从 而 实 现 更 全 面 地 满 足 业 务 需 求 您 通 常 会 看 到 信 息 过 载 的 列 ; 例 如, 一 个 10 位 的 帐 户 ID 可 以 在 前 三 位 中 包 含 帐 户 分 支 信 息 利 用 基 于 虚 拟 列 的 分 区 扩 展, 可 以 通 过 虚 拟 ( 派 生 ) 列 ACCOUNT_BRANCH 来 扩 展 包 含 ACCOUNT_ID 列 的 ACCOUNTS 表,ACCOUNT_BRANCH 列 派 生 自 ACCOUNT_ID 列 ( 该 表 的 分 区 键 ) 的 前 三 位 基 于 虚 拟 列 的 分 区 支 持 所 有 基 本 分 区 策 略 Partition advisor Oracle 数 据 库 11g 中 的 SQL Access Advisor 已 经 得 到 增 强, 除 了 已 经 为 索 引 物 化 视 图 和 物 化 视 图 日 志 提 供 的 建 议 之 外, 还 可 以 生 成 分 区 建 议 SQL Access Advisor 生 成 的 建 议 ( 仅 针 对 分 区 或 针 对 历 史 ) 将 显 示 在 其 实 现 后 将 获 得 的 预 期 性 能 提 高 生 成 的 脚 本 可 以 手 动 实 现, 也 可 以 提 交 到 Oracle 企 业 管 理 器 中 的 队 列 利 用 分 区 建 议 扩 展, 客 户 不 仅 能 够 获 得 专 门 针 对 分 区 的 建 议, 还 可 以 获 得 更 全 面 的 整 体 SQL Access Advisor 建 议, 从 而 全 面 提 高 SQL 语 句 的 整 体 性 能 Partition Advisor 已 集 成 到 SQL Access Advisor 中, 它 是 Oracle Tuning Pack( 一 个 额 外 许 可 选 件 ) 的 一 部 分 它 可 以 从 企 业 管 理 器 中 使 用, 或 者 通 过 命 令 行 接 口 使 用 分 区 策 略 和 扩 展 概 述 下 表 列 出 了 Oracle 数 据 库 11g 中 提 供 的 所 有 基 本 分 区 策 略 的 概 念 性 概 述 : Oracle 数 据 库 11g 中 的 分 区 9
分 区 策 略 数 据 分 配 示 例 业 务 案 例 范 围 分 区 基 于 值 的 连 续 范 围 Orders 表 根 据 order_date 进 行 范 围 分 区 列 表 分 区 基 于 值 的 无 序 列 表 Orders 表 根 据 country 进 行 列 表 分 区 散 列 分 区 基 于 散 列 算 法 Orders 表 根 据 customer_id 进 行 散 列 分 区 组 合 分 区 范 围 - 范 围 范 围 - 列 表 范 围 - 散 列 列 表 - 列 表 列 表 - 范 围 列 表 - 散 列 基 于 上 面 提 到 的 两 个 基 本 技 术 ( 范 围 列 表 散 列 和 间 隔 分 区 ) 的 组 合 Orders 表 先 根 据 order_date 进 行 范 围 分 区, 然 后 再 根 据 customer_id 进 行 散 列 分 区 Orders 表 先 根 据 order_date 进 行 范 围 分 区, 然 后 再 根 据 shipment_date 进 行 范 围 分 区 除 了 所 提 供 的 分 区 策 略 以 外,Oracle 数 据 库 11g 还 提 供 了 以 下 分 区 扩 展 : 分 区 扩 展 分 区 键 示 例 业 务 案 例 间 隔 分 区 间 隔 间 隔 - 范 围 间 隔 - 列 表 间 隔 - 散 列 引 用 分 区 基 于 虚 拟 列 的 分 区 对 范 围 分 区 的 扩 展 由 间 隔 时 间 定 义, 提 供 等 宽 范 围 除 了 第 一 个 分 区, 在 匹 配 数 据 插 入 时, 其 他 所 有 分 区 都 将 按 需 自 动 创 建 子 表 的 分 区 通 过 主 键 - 外 键 关 系 从 父 表 继 承 分 区 键 不 存 储 在 子 表 的 实 际 列 中 由 上 面 提 到 的 其 中 一 个 分 区 技 术 定 义, 并 且 分 区 键 基 于 虚 拟 列 虚 拟 列 不 存 储 在 磁 盘 上, 仅 以 元 数 据 的 形 式 存 在 Orders 表 根 据 order_date 进 行 分 区, order_date 是 预 先 定 义 的 每 日 间 隔, 自 01-Jan- 2007 开 始 ( 父 ) Orders 表 根 据 order_date 进 行 范 围 分 区, 并 将 分 区 技 术 遗 传 给 ( 子 ) order lines 表 order_date 列 仅 在 orders 父 表 中 出 现 Orders 表 具 有 一 个 虚 拟 列, 可 基 于 客 户 帐 号 的 前 三 个 数 字 得 出 销 售 区 域 然 后, 根 据 销 售 区 域 对 orders 表 进 行 列 表 分 区 利 用 分 区 进 行 信 息 生 命 周 期 管 理 利 用 Oracle 分 区, 可 以 最 好 地 解 决 当 今 面 临 的 以 尽 可 能 低 的 成 本 存 储 大 量 数 据 的 挑 战 单 个 分 区 的 独 立 性 是 解 决 分 层 存 档 策 略 联 机 部 分 的 关 键 点 特 别 是 在 包 含 历 史 数 据 的 表 中, 数 据 的 重 要 性 ( 以 及 访 问 模 式 ) 在 很 大 程 度 上 依 赖 于 数 据 的 年 龄 ; 分 区 使 您 能 够 将 单 个 分 区 ( 或 分 区 组 ) 存 储 在 不 同 的 存 储 层, 从 而 提 供 不 同 的 物 理 属 性 和 价 值 点 例 如, 一 个 包 含 2 年 数 据 的 Orders 表 可 以 仅 将 最 近 一 个 季 度 的 数 据 存 储 在 昂 贵 的 高 端 存 储 层 上, 并 将 表 的 其 余 数 据 ( 几 乎 90% 的 数 据 ) 存 放 在 廉 价 的 低 成 本 存 储 层 上 通 过 Oracle 分 区, 可 以 大 大 降 低 存 储 成 本 ( 通 常 可 以 节 省 50% 或 更 多 的 成 本 ), 并 且 不 会 影 响 最 终 用 户 访 问, 从 而 最 佳 化 存 储 信 息 的 拥 有 成 本 Oracle 数 据 库 11g 中 的 分 区 10
Oracle ILM Assistant 是 一 个 可 从 OTN 上 下 载 的 免 费 工 具, 它 可 以 说 明 这 些 成 本 节 省, 演 示 如 何 对 表 进 行 分 区, 并 建 议 何 时 将 分 区 移 到 其 他 存 储 层 总 结 考 虑 到 Oracle 分 区 的 新 功 能 和 改 进 的 功 能, 我 们 认 为 Oracle 数 据 库 11g 是 自 1997 年 引 入 Oracle 分 区 以 来 最 重 要 的 版 本 在 每 一 个 重 要 版 本 中, Oracle 都 增 强 了 分 区 的 功 能 ( 通 过 添 加 新 的 分 区 技 术 增 强 可 伸 缩 性, 或 者 扩 展 可 管 理 性 和 维 护 功 能 ) Oracle 公 司 计 划 继 续 增 加 新 的 分 区 技 术, 确 保 提 供 一 个 面 向 所 有 业 务 需 求 的 最 佳 分 区 技 术 分 区 将 面 向 所 有 人 Oracle 分 区 可 以 大 大 增 强 几 乎 所 有 数 据 库 应 用 程 序 的 可 管 理 性 性 能 和 可 用 性 分 区 可 用 于 前 沿 应 用 程 序, 并 且 是 确 保 这 些 应 用 程 序 成 功 的 关 键 技 术 因 素 此 外, 分 区 还 可 用 于 较 为 普 通 的 数 据 库 应 用 程 序, 以 便 简 化 这 些 应 用 程 序 的 管 理 工 作, 并 降 低 管 理 成 本 由 于 分 区 对 应 用 程 序 是 透 明 的, 因 此 可 以 轻 松 实 现, 因 为 这 不 需 要 进 行 高 成 本 且 耗 时 的 应 用 程 序 更 改 Oracle 数 据 库 11g 中 的 分 区 11
Oracle 数 据 库 11g 中 的 分 区 2007 年 6 月 作 者 :Hermann Baer 合 作 者 : Oracle Corporation 全 球 总 部 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 全 球 咨 询 热 线 : 电 话 : +1.650.506.7000 传 真 : +1.650.506.7200 oracle.com 版 权 所 有 2007,Oracle 保 留 所 有 权 利 本 文 档 仅 用 于 提 供 信 息, 此 处 内 容 若 有 更 改, 恕 不 另 行 通 知 本 文 档 不 保 证 没 有 错 误, 也 不 受 其 他 任 何 口 头 表 达 或 法 律 暗 示 的 担 保 或 条 件 的 约 束, 包 括 对 特 定 用 途 的 适 销 性 或 适 用 性 的 暗 示 担 保 和 条 件 我 们 特 别 声 明 拒 绝 承 担 与 本 文 档 有 关 的 任 何 责 任, 本 文 档 不 直 接 或 间 接 形 成 任 何 契 约 义 务 未 经 我 们 事 先 的 书 面 许 可, 不 得 以 任 何 形 式 或 方 法 ( 电 子 或 机 械 方 法 ) 为 任 何 目 的 复 制 或 传 输 本 文 档 Oracle 是 Oracle Corporation 和 / 或 其 子 公 司 的 注 册 商 标 其 他 名 称 可 能 是 其 各 自 所 有 者 的 商 标 Oracle 数 据 库 11g 中 的 分 区 12