Microsoft Word - 高级复制 - Advanced Replication初步研究.doc

Size: px
Start display at page:

Download "Microsoft Word - 高级复制 - Advanced Replication初步研究.doc"

Transcription

1 关 于 Advanced Replication 的 初 步 研 究 Author:Kamus, yangtingkun, eygle Date:2004 年 3 月 一 概 述...1 二 MR 的 概 念 和 构 架...3 三 冲 突 解 决 方 案 的 概 念 和 构 架...9 四 冲 突 解 决 机 制 的 研 究...10 五 解 决 数 据 冲 突 -dbms_rectifier_diff 包...18 六 MVR 的 概 念 和 构 架...22 附 录 一 多 主 体 复 制 站 点 的 配 置 步 骤...34 附 录 二 物 化 视 图 复 制 站 点 的 配 置 步 骤...38 附 录 三 一 些 高 级 复 制 相 关 的 包 使 用 方 法...46 附 录 四 FAQ...50 一 概 述 1. Replication 使 用 分 布 式 数 据 库 技 术 在 多 个 站 点 之 间 共 享 数 据 2. Replicated Database 和 Distributed Database 并 不 一 样, 在 分 布 式 数 据 库 系 统 中 数 据 在 多 个 站 点 同 时 有 效, 但 是 一 个 表 只 会 存 在 于 一 个 站 点 中, 而 对 于 Replication 来 说 相 同 的 数 据 将 同 时 存 在 于 多 个 站 点 中 3. 使 用 replication 的 原 因 : 1) Availability: 也 就 是 提 供 了 优 秀 的 failover 保 护 2) Performance: 由 于 有 多 个 server, 所 以 可 以 将 用 户 业 务 分 布 在 不 同 的 server 上 3) Disconnected computing: 实 体 化 视 图 允 许 用 户 在 和 master 断 开 后 使 用 数 据 库 的 子 集, 在 重 新 连 接 上 master 之 后 再 进 行 两 者 的 同 步 4) Network load reduction: 由 于 有 多 个 server, 所 以 可 以 减 少 master 的 网 络 请 求 5) Mass deployment: 通 过 变 量 产 生 自 定 义 的 实 体 化 视 图 以 满 足 多 种 需 求 4. 在 不 同 的 Oracle 发 行 版 本 之 间 以 及 不 同 操 作 系 统 的 Oracle 之 间 都 可 以 使 用 Advanced

2 Replication 5. Replication 中 的 几 个 概 念 : 1) replication object: 复 制 对 象, 指 需 要 作 复 制 的 对 象 (object), 包 括 表, 索 引, 存 储 过 程 等 等 复 制 对 象 的 更 新 遵 循 事 务 一 致 性 规 则 (transactionally consistent manner) 2) replication groups: 复 制 组, 是 复 制 对 象 (replication object) 的 集 合 称 为 group, oracle 以 replication group 的 形 式 来 管 理 复 制 一 个 组 可 以 包 含 多 个 模 式 的 object, 一 个 模 式 也 可 以 有 多 个 组 中 的 object, 但 是 每 个 replication object 都 只 能 属 于 一 个 replication group 3) replication sites: 复 制 站 点, 包 含 两 种 类 型, 主 体 站 点 (master sites) 和 实 体 化 视 图 站 点 (materialized view sites) 一 个 site 可 以 担 任 一 个 replication group 中 的 mater site 同 时 又 担 任 另 外 一 个 replication group 中 的 materialized view site, 注 意 必 须 是 另 外 一 个 组, 而 不 能 是 同 一 个 replication group 4) scheduled links: 一 个 数 据 库 链 接 (database link), 包 含 一 个 由 用 户 定 义 的 计 划, 来 将 需 要 更 新 的 事 务 推 到 其 它 的 master sites, 当 创 建 scheduled link 的 时 候,oracle 将 在 本 地 任 务 队 列 中 创 建 一 个 任 务 5) master definition site: 主 体 定 义 站 点, 大 部 分 的 高 级 复 制 配 置 都 需 要 在 一 个 站 点 上 作, 这 个 站 点 就 是 maserdef site 6. Replication 环 境 的 几 种 类 型 1) Multimaster Replication 2) Materialized View Replication( 也 可 以 称 为 是 Single Master Replication) 3) Multimaster and Materialized View Hybrid Configurations Multimaster Replication 和 Materialized View Replication 的 区 别 在 于 : 前 者 必 须 是 全 表 复 制 而 后 者 可 以 是 master 表 的 一 部 分 前 者 允 许 在 每 一 个 transaction 之 后 都 进 行 复 制, 而 后 者 是 属 于 批 处 理 复 制 两 者 都 使 用 scheduled links 进 行 数 据 同 步 操 作 Materialized View Replication 中 的 materialized view 可 能 有 以 下 几 种 类 型 : 1) Read-Only Materialized Views: 只 读 的 实 体 化 视 图 2) Updatable Materialized Views: 允 许 更 新, 同 时 允 许 将 更 新 复 制 到 master site 3) Writeable Materialized Views: 允 许 更 新, 但 是 每 次 refresh 的 时 候, 更 新 都 会 丢 失 7. 介 绍 Multimaster Replication 中 的 复 制 方 式 1) Asynchronous replication 在 一 个 master 上 发 生 的 变 化 将 在 推 后 的 时 间 内 更 新 到 其 他 的 master 上 2) Synchronous replication 在 一 个 master 上 发 生 的 变 化 将 立 刻 更 新 到 其 他 的 master 上 3) Procedural replication 必 须 给 每 个 site 上 的 包 都 生 成 一 个 wrapper, 所 有 的 数 据 变 化 应 该 通 过 包 中 的 存 储 过 程 完 成, 当 某 个 master 上 的 procedure 被 调 用,wapper 将 保 证 其 他 site 中 的 存 储 过 程 也 被 调 用 ( 同 步 或 者 不 同 步 ) 将 大 量 的 数 据 操 作 放 到 一 个 procedure 中,

3 然 后 对 于 procedure 的 调 用 将 被 同 步, 用 处 在 于 在 于 有 大 数 据 量 操 作 的 时 候 可 以 减 少 网 络 负 载 二 MR 的 概 念 和 构 架 MR 是 Master Replication, 也 就 是 主 体 站 点 复 制 的 概 念, 是 高 级 复 制 区 别 于 普 通 复 制 的 一 个 重 要 的 功 能 本 章 节 对 于 MR 中 出 现 的 种 种 概 念 作 详 细 解 释 MR 分 为 single master 和 multi master 两 种 single master 指 一 个 master site 支 持 多 个 materialized view site, 而 multi master 则 包 含 多 个 master site Multimaster Replication 也 被 称 为 peer-to-peer 或 者 n-way replication, 任 何 一 个 master 上 发 生 的 变 化 都 将 被 送 到 其 它 的 master 上 1. 为 什 么 使 用 Multimaster Replication Failover: 当 主 数 据 库 发 生 问 题 的 时 候, 可 以 通 过 配 置 Oracle Net 来 实 现 automatic connect-time failover, 需 要 将 客 户 端 的 tnsnames.ora 中 的 FAILOVER_MODE 参 数 设 置 为 ON 同 时 在 主 数 据 库 正 常 的 时 候, 其 它 的 master site 仍 然 可 以 作 为 一 个 具 有 完 全 功 能 的 数 据 库 来 支 持 其 它 业 务, 比 如 报 表 等 Load Balancing:: 提 供 读 动 态 平 衡 以 及 更 本 地 化 的 数 据 存 取 2. 比 较 RAC(Oracle Real Application Clusters) 和 Advanced Replication Load Balancing:: 高 级 复 制 提 供 读 动 态 平 衡, 而 RAC 则 提 供 读 写 动 态 平 衡 因 为 每 一 次 写 操 作 都 会 在 所 有 的 replication site 上 体 现, 所 以 高 级 复 制 不 能 提 供 写 动 态 平 衡 Survivability:: 高 级 复 制 提 供 更 加 强 有 力 的 灾 难 恢 复 功 能, 因 为 高 级 复 制 环 境 中 的 各 个 site 可 以 位 于 物 理 上 的 不 同 地 点, 而 RAC 因 为 使 用 的 是 磁 盘 阵 列 或 其 他 类 型 的 并 行 系 统, 所 以 通 常 在 同 一 个 物 理 地 点 Interoperability: 高 级 复 制 可 以 在 不 同 平 台 和 操 作 系 统 的 Oracle 之 间 实 现, 而 RAC 环 境 则 必 须 运 行 在 相 同 的 平 台 上 3. Multimaster Replication Process Asynchronous Replication: 说 明 : 使 用 非 同 步 复 制 能 够 减 少 网 络 资 源 和 硬 件 资 源 的 消 耗, 但 是 不 同 的 master sites 之 间 会 有 一 段 时 间 不 同 步, 并 且 可 能 会 造 成 数 据 冲 突 以 下 描 述 非 同 步 复 制 的 过 程 : 1) 用 户 执 行 DML 操 作 或 者 执 行 replicated procedure 的 wrapper, 当 一 个 table 被 设 定 为 需 要 复 制, 那 么 对 于 此 表 的 任 何 DML 操 作 都 会 被 捕 获 并 且 复 制 到 其 他 的 master site 对 于 每 一 行 被 插 入, 更 新 或 者 删 除 的 数 据 都 将 由 一 个 内 部 触 发 器 来 创 建 一 个 deferred remote procedure call (RPC) 并 且 放 在 deferred transaction queue 中, 如 果 一 个 存 储 过 程 被 设 置 为 需 要 复 制 并 且 它 的 wrapper 被 执 行, 则 这 个 procedure call 被 放 置 在 transaction queue 中 由 于 内 部 触 发 器 是 由 Oracle 本 身 内 部 维 护 的, 所 以 可 以 以 最 小 的 系 统 资 源 消 耗 来 很 快 地 获 取 需 要 复 制 的 对 象 的 变 化

4 2) deferred transaction queue 中 保 存 着 所 有 的 deferred RPCs 每 个 site 都 有 一 个 事 务 队 列, 这 个 队 列 可 以 被 多 个 replication group 共 用 3) 在 指 定 的 间 隔 之 后 或 者 被 手 工 调 用, 事 务 将 被 传 递 到 其 他 的 site, 每 个 site 都 可 能 有 不 同 的 间 隔 4) 事 务 在 这 些 site 上 被 应 用, 如 果 出 错 该 事 务 将 被 放 置 到 一 个 错 误 队 列 中, 以 备 DBA 检 查 处 理, 如 果 出 现 数 据 冲 突, 冲 突 解 决 方 法 将 被 调 用, 如 果 冲 突 无 法 解 决 那 么 将 被 记 录 在 错 误 队 列 中 5) 当 事 务 在 所 有 的 remote master sites 上 被 成 功 执 行 之 后, 并 不 会 从 源 site 的 事 务 队 列 中 立 刻 删 除, 删 除 工 作 将 由 另 外 的 purge job 来 执 行, 此 job 的 执 行 间 隔 可 以 由 用 户 来 定 义 Synchronous Replication: 说 明 : 同 步 复 制 始 终 在 同 一 个 transaction 中 完 成, 如 果 整 个 环 境 中 的 任 何 一 个 site 没 有 成 功 执 行 事 务, 那 么 整 个 transaction 将 被 回 滚, 包 括 源 site 这 就 保 证 了 数 据 一 致 性 以 下 描 述 同 步 复 制 的 过 程 : 1) 用 户 执 行 DML 操 作 或 者 执 行 replicated procedure 的 wrapper, 操 作 被 内 部 触 发 器 立 刻 捕 获 2) 事 务 被 传 递 到 其 他 site 并 且 立 刻 执 行, 任 何 一 个 site 出 错, 就 回 滚 整 个 事 务 4. 冲 突 解 决 方 案 的 概 念 冲 突 的 类 型 : 更 新 冲 突, 唯 一 性 冲 突, 删 除 冲 突 当 发 生 冲 突 的 时 候, 冲 突 解 决 方 法 将 被 调 用 以 解 决 冲 突, 如 果 无 法 解 决, 则 被 记 录 到 目 标 站 点 的 错 误 队 列 中 记 录 到 错 误 队 列 中 的 冲 突 只 能 由 数 据 库 管 理 员 手 动 解 决 为 了 实 现 冲 突 解 决 方 案, 可 能 会 需 要 修 改 表 结 构, 比 如 如 果 使 用 最 新 时 间 戳 的 解 决 方 案, 那 么 就 应 该 在 表 中 添 加 一 个 timestamp 列 5. 配 置 高 级 复 制 的 工 具 1) 图 形 界 面 :Oracle Enterprise Manager 提 供 了 一 个 友 好 的 GUI 界 面 用 以 配 置 高 级 复 制 2) 命 令 行 方 式 :Oracle 提 供 了 一 套 replication management application programming interface (API) 来 支 持 用 户 编 写 自 定 义 的 脚 本 用 以 配 置 高 级 复 制, 这 些 API 是 一 系 列 的 PLSQL packages 实 际 上 GUI 界 面 的 高 级 配 置 工 具 也 是 调 用 这 些 API 来 完 成 配 置 的 注 意 点 : 在 高 级 复 制 环 境 中 的 对 于 需 要 复 制 的 对 象 作 任 何 DDL 操 作, 都 应 该 使 用 高 级 复 制 配 置 工 具 来 作, 比 如 利 用 DBMS_REPCAT 包 中 的 相 应 存 储 过 程 在 有 些 场 合 下 也 可 以 用 导 出 导 入 (EXPIMP) 来 创 建 复 制 对 象 在 SQL*PLUS 中 直 接 执 行 的 任 何 DDL 操 作 都 不 会 被 复 制 到 其 它 的 site 上 6. 高 级 复 制 中 的 几 个 角 色 Replication Administrator: 默 认 名 称 是 repadmin, 也 可 以 修 改 Propagator: 一 个 高 级 复 制 环 境 中 可 能 有 多 个 RA 来 管 理 不 同 的 schema, 但 是 只 能 有 一 个 propagator 将 延 迟 处 理 事 务 队 列 中 的 事 务 传 递 到 目 标 站 点 Receiver : 负 责 接 收 和 处 理 从 propagator 处 传 来 的 延 迟 处 理 事 务 可 以 通 过

5 DBMS_REPCAT_ADMIN 包 中 REGISTER_USER_REPGROUP 存 储 过 程 来 注 册 一 个 receiver 7. Database Links 数 据 库 链 接 在 高 级 复 制 环 境 中 提 供 了 数 据 传 送 的 通 道, 在 一 个 MMR 环 境 中, 如 果 有 N 个 Master Site, 就 会 有 N-1 个 数 据 库 链 接 在 MVR 环 境 中, 则 只 需 要 从 实 体 化 视 图 站 点 上 到 主 站 点 的 数 据 库 链 接 如 果 使 用 设 置 向 导 来 创 建 dblink, 则 会 在 USING 后 面 使 用 连 接 描 述 字 串, 而 不 是 连 接 服 务 名, 这 样 在 对 方 数 据 库 发 生 变 化 的 时 候, 就 必 须 删 除 重 建 现 有 的 dblink, 所 以 我 们 应 该 手 动 设 定 dnlink, 从 而 在 USING 后 面 使 用 连 接 服 务 名 这 样 即 使 对 方 数 据 库 改 变, 我 们 也 只 需 要 修 改 tnsnames.ora 中 的 配 置 即 可, 而 不 需 要 重 建 dblink 8. 可 以 进 行 复 制 的 对 象 Tables 当 一 个 对 象 被 复 制 到 目 标 站 点 上 时, 复 制 支 持 不 会 自 动 生 成 利 用 这 个 特 点 可 以 快 速 地 发 布 一 个 标 准 的 数 据 库 环 境 到 另 外 的 站 点 上 Indexes 作 为 约 束 的 索 引, 当 表 在 主 站 点 上 被 创 建 的 时 候, 会 自 动 在 复 制 站 点 上 创 建, 但 是 对 于 提 高 性 能 的 索 引 则 不 会 被 自 动 创 建 而 必 须 手 动 指 定 对 于 索 引 被 复 制 到 目 标 站 点 之 后, 等 同 于 本 地 的 索 引, 不 需 要 再 添 加 复 制 支 持 Packages and Package Bodies 存 储 过 程 中 的 所 有 参 数 必 须 是 IN 的,OUT 和 INOUT 不 被 支 持 存 储 过 程 和 函 数 也 必 须 定 义 在 包 中, 单 独 的 存 储 过 程 和 函 数 无 法 进 行 复 制 Procedures and Functions 虽 然 单 独 的 存 储 过 程 和 函 数 无 法 进 行 复 制, 但 是 仍 然 可 以 在 高 级 复 制 环 境 中 利 用 复 制 来 将 单 独 的 存 储 过 程 和 函 数 发 布 到 远 程 的 站 点 上, 就 像 在 远 程 站 点 本 地 创 建 的 一 样 User-Defined Types and Type Bodies 所 有 的 用 户 定 义 类 型 在 所 有 的 复 制 站 点 上 都 必 须 存 在 而 且 必 须 完 全 相 同 Triggers 一 个 比 较 重 要 的 应 用 就 是 在 DML 操 作 的 时 候 在 表 的 timestmap 列 中 插 入 当 前 的 系 统 时 间 为 了 防 止 触 发 器 被 重 复 调 用, 必 须 要 使 用 API 来 判 断 DML 操 作 是 在 本 地 发 起 的 还 是 通 过 高 级 复 制 传 递 过 来 的 如 下 例 : CREATE OR REPLACE TRIGGER hr.insert_time BEFORE INSERT OR UPDATE ON hr.employees FOR EACH ROW IF DBMS_REPUTIL.FROM_REMOTE = FALSE THEN :NEW.TIMESTAMP := SYSDATE; END IF; Views, Object Views, and Synonyms 只 是 简 单 地 复 制 到 其 它 站 点, 不 会 产 生 任 何 内 部 触 发 器 或 者 包 来 监 控 这 些 被 复 制 的 对 象 的 改 变 由 于 是 复 制 对 象, 所 以 仍 然 可 以 使 用 高 级 复 制 工 具 或 者 API 来 进 行 修 改 和 删 除 Indextypes 必 须 手 工 指 定 复 制 可 以 用 高 级 复 制 工 具 或 者 CREATE_MASTER_REPOBJECT 存 储 过 程

6 User-Defined Operators 复 制 情 况 跟 视 图, 同 义 词 等 相 同, 只 是 简 单 的 复 制 而 已 注 意 : 高 级 复 制 不 支 持 sequence 如 果 想 实 现 高 级 复 制 环 境 中 的 序 列 唯 一 性, 可 以 有 以 下 几 种 方 法 : 1. 使 用 SELECT SYS_GUID() OID FROM DUAL; 这 样 将 会 产 生 全 球 唯 一 的 GUID 2. 在 序 列 前 面 添 加 站 点 名 称, 比 如 唯 一 的 GLOBAL_NAME 3. 在 各 个 复 制 站 点 规 划 不 会 重 复 的 序 列, 比 如 站 点 A 的 序 列 从 1 开 始, 以 10 递 增, 站 点 B 的 序 列 从 3 开 始, 以 10 递 增 9. 高 级 复 制 环 境 中 的 队 列 Oracle 利 用 Internal Triggers 来 捕 获 对 象 变 化, 并 且 生 成 RPCs(remote procedure calls), RPCs 中 包 含 目 标 站 点 上 的 internal procedure 的 执 行 命 令 以 及 需 要 复 制 的 数 据,RPCs 存 储 在 deferred transaction queue 中, 当 一 个 RPC 到 达 目 标 站 点, 该 站 点 上 相 应 的 internal procedure 将 被 运 行 以 应 用 RPC 来 完 成 复 制 操 作 高 级 复 制 环 境 中 的 队 列 包 含 Deferred Transaction Queue,Error Queue 和 Job Queue Job Queue 中 包 含 的 作 业 有 三 种 : 将 延 迟 事 务 推 到 远 程 主 站 点 的 作 业, 将 已 经 应 用 过 的 事 务 从 延 迟 事 务 处 理 队 列 中 删 除 的 作 业, 刷 新 实 体 化 视 图 更 新 组 的 作 业 10. 管 理 请 求 (Administrative Request)- 管 理 机 制 什 么 是 管 理 请 求? 在 DBA_REPCATLOG 视 图 中 查 看 Administrative Requests 的 状 态 当 管 理 请 求 在 所 有 的 主 站 点 上 成 功 执 行 以 后, 管 理 请 求 将 从 所 有 的 主 站 点 包 括 主 体 定 义 站 点 中 的 管 理 请 求 队 列 中, 也 就 是 DBA_REPCATLOG 视 图 中 删 除 DBA_REPCATLOG 视 图 中 管 理 请 求 的 几 种 状 态 : 1) READY: 表 示 请 求 准 备 被 执 行 如 果 长 时 间 处 于 该 状 态, 可 以 手 动 执 行 DBMS_REPCAT.DO_DEFERRED_REPCAT_ADMIN 存 储 过 程 来 执 行 请 求 2) AWAIT_CALLBACK: 这 种 状 态 只 会 出 现 在 主 体 定 义 站 点 上, 表 示 正 在 等 待 其 它 的 主 站 点 执 行 请 求 并 且 返 回 结 果 3) ERROR: 表 示 请 求 执 行 错 误 4) DO_CALLBACK: 这 种 状 态 只 会 出 现 在 非 主 体 定 义 站 点 上, 表 示 要 通 知 主 体 定 义 站 点 请 求 执 行 的 结 果 11. 主 体 组 (Master Group)- 组 织 机 制 在 高 级 复 制 环 境 中,Oracle 用 复 制 组 来 管 理 复 制 对 象 而 在 多 主 体 复 制 (multimaster replication) 环 境 中 复 制 组 就 被 称 为 主 体 组 (Master Group) 在 不 同 的 复 制 站 点 上 的 相 应 主 体 组 中 必 须 包 含 相 同 的 复 制 对 象 12. Column Groups - 组 织 机 制 Column Group 是 在 冲 突 解 决 方 案 中 扮 演 角 色 的 多 个 字 段 的 集 合 如 果 组 中 的 某 个 字 段 引 发 了 冲 突, 那 么 其 余 的 字 段 可 以 用 来 作 解 决 这 个 冲 突 打 个 比 方, 如 果 一 个 表 的 column group 中 包 含 price 和 timestamp 字 段, 那 么 当 启 用 时 间 戳 冲 突 解 决 方 案 (timestamp conflict resolution routine) 时,timestamp 字 段 就 可 以 用 来 解 决 price 字 段 中 发 生 的 冲 突

7 可 能 刚 开 始 的 时 候 会 想 把 表 中 的 所 有 字 段 都 放 入 一 个 Column Group 中, 这 样 确 实 使 配 置 和 管 理 都 更 简 单 了 些, 但 是 却 会 降 低 复 制 的 性 能 并 且 可 能 会 引 发 潜 在 的 数 据 冲 突 在 后 面 的 性 能 机 制 部 分, 大 家 将 会 看 到 如 果 一 个 column group 中 发 生 了 冲 突, 那 么 oracle 的 最 小 化 通 信 功 能 (minimum communication feature) 将 不 会 从 其 它 的 column group 中 传 递 来 数 据 所 以 将 所 有 的 字 段 全 部 放 入 一 个 column group 将 减 弱 最 小 化 通 信 功 能 带 来 的 好 处, 除 非 使 用 了 DBMS_REPCAT 包 中 的 SEND_OLD_VALUES 和 COMPARE_OLD_VALUES 存 储 过 程 在 后 面 的 冲 突 解 决 方 案 的 概 念 和 体 系 结 构 章 节 中 将 会 有 更 详 细 的 描 述 13. 传 播 类 型 - 传 播 机 制 异 步 数 据 复 制 通 常 也 被 称 为 :store-and-forward data replication 同 步 数 据 复 制 通 常 也 被 称 为 :real-time data replication 由 于 同 步 复 制 采 取 的 锁 机 制, 所 以 当 同 时 更 新 同 一 行 数 据 时, 会 产 生 死 锁 的 现 象 当 同 步 更 新 一 个 复 制 表 时,Oracle 首 先 锁 住 本 地 行, 然 后 使 用 一 个 AFTER ROW 触 发 器 来 锁 住 远 端 的 行 当 事 务 在 所 有 的 站 点 都 提 交 之 后,Oracle 才 会 解 锁 同 步 数 据 复 制 极 为 依 赖 系 统 和 网 络 的 可 用 性, 因 为 只 要 当 复 制 环 境 中 的 所 有 站 点 都 可 用 时, 事 务 才 能 正 常 进 行 混 合 模 式 的 数 据 复 制 : 1) 假 设 创 建 了 A 是 masterdef site, 然 后 添 加 了 B 为 同 步 数 据 复 制, 再 添 加 C 为 非 同 步 复 制, 那 么 此 时 AB 之 间 是 同 步,AC 和 BC 之 间 都 是 非 同 步 2) 假 设 创 建 了 A 是 masterdef site, 然 后 添 加 了 C 为 非 同 步 数 据 复 制, 再 添 加 B 为 同 步 复 制, 那 么 此 时 AB 和 BC 之 间 是 同 步,AC 之 间 是 非 同 步 14. Initiating 方 法 - 展 开 机 制 当 使 用 同 步 复 制 的 时 候,DML 传 播 被 立 刻 处 理 并 且 被 自 动 展 开 如 果 是 使 用 异 步 复 制, 那 么 可 以 用 下 面 的 方 法 传 播 延 迟 事 务 : 计 划 作 业 : 大 部 分 场 合, 都 是 利 用 计 划 作 业 在 指 定 的 时 间 间 隔 后 自 动 传 播 延 迟 事 务 手 动 传 播 : 如 果 不 想 等 待 计 划 作 业 的 自 动 传 播, 也 可 以 利 用 存 储 过 程 或 者 复 制 管 理 工 具 来 手 动 传 播 改 动 15. 并 行 传 播 (Parallel Propagation) - 性 能 机 制 16. 最 小 化 通 信 (Minimum Communication) - 性 能 机 制 17. 延 迟 秒 数 (Delay Seconds) - 性 能 机 制 上 面 三 个 参 数 (15,16,17 值 得 好 好 研 究 并 且 进 行 调 整, 以 后 会 补 齐 这 部 分 内 容 ) 18. 复 制 保 护 机 制 : 在 多 主 体 复 制 环 境 中,Oracle 将 保 证 就 算 发 生 错 误 的 时 候, 事 务 传 播 也 不 会 丢 失, 同 样 同 一 个 事 务 也 不 可 能 传 播 两 次 正 确 的 传 播 并 不 以 为 着 延 迟 事 务 在 远 程 站 点 就 正 确 执 行 了, 可 能 因 为 无 法 解 决 的 冲 突 或 者 说 远 程 站 点 磁 盘 空 间 不 足 等 原 因 延 迟 事 务 执 行 失 败, 那 么 这 样 的 错 误 将 会 记 录 在 远 程 站 点 的 错 误 队 列 中

8 19. 数 据 传 播 的 依 赖 性 维 护 非 并 行 传 播 中,Oracle 按 照 本 地 站 点 的 事 务 commit 顺 序 来 在 远 程 站 点 应 用 事 务 而 并 行 传 播 中,Oracle 则 会 记 录 最 新 事 务 产 生 的 SCN, 如 果 存 在 事 务 之 间 的 依 赖 性, 那 么 Oracle 将 先 在 远 程 站 点 应 用 比 这 个 SCN 小 或 者 等 于 这 个 SCN 的 事 务, 然 后 再 应 用 这 个 最 新 的 事 务, 这 是 一 个 非 并 行 的 应 用, 只 有 当 不 存 在 事 务 依 赖 性 的 时 候, 才 会 真 正 利 用 并 行 来 应 用 延 迟 事 务 记 录 SCN 有 两 种 方 式, 一 种 是 数 据 块 级 别 的, 一 种 是 行 级 别 的 当 创 建 表 的 时 候, 如 果 使 用 了 : NOROWDEPENDENCIES, 这 是 默 认 属 性, 那 么 Oracle 将 会 以 数 据 块 级 别 方 式 来 记 录 SCN 这 样 存 储 在 同 一 个 数 据 块 中 的 多 行 记 录 都 只 会 有 一 个 最 新 的 SCN, 旧 的 会 被 新 生 成 的 覆 盖 ROWDEPENDENCIES, 那 么 将 对 表 中 的 每 一 行 都 记 录 SCN 在 同 一 个 数 据 块 中 的 多 行 记 录 将 分 别 保 留 自 己 的 SCN, 这 样 每 一 行 记 录 都 需 要 额 外 的 6 个 字 节 的 存 储 空 间 但 是 这 将 提 高 并 行 传 播 时 应 用 延 迟 事 务 的 效 率 ( 使 用 这 个 特 性, 要 求 数 据 库 的 初 始 化 参 数 中 COMPATIBLE=9.0.1 或 者 更 高 ) 可 以 使 用 以 下 SQL 来 检 查 那 些 表 启 用 了 这 个 特 性 : SQL> SELECT OWNER, TABLE_NAME FROM DBA_TABLES WHERE DEPENDENCIES = 'ENABLED'; 如 果 没 有 使 用 ROWDEPENDENCIES, 那 么 我 们 可 以 设 法 让 事 务 依 赖 性 最 小, 这 样 来 达 到 提 高 复 制 环 境 应 用 效 率 的 目 的 比 如 我 们 可 以 创 建 多 个 freelist, 这 样 可 以 在 大 量 insert 的 时 候 将 不 同 事 务 更 新 的 数 据 放 置 到 不 同 的 数 据 块 中 另 外 在 程 序 设 计 的 时 候, 我 们 也 应 该 尽 量 避 免 大 量 的 事 务 同 时 更 新 同 一 张 小 表 的 现 象 出 现, 比 如 说 有 些 应 用 会 设 计 一 张 小 表 来 模 拟 序 列 (Sequence), 用 以 生 成 唯 一 的 主 键 这 样 就 会 迫 使 多 个 事 务 同 时 更 新 同 一 个 数 据 块 对 于 这 种 情 况, 我 们 应 该 改 为 使 用 Sequence 并 且 缓 存 Sequence 的 生 成 20. 冲 突 解 决 机 制 为 了 正 确 地 侦 测 复 制 冲 突,Oracle 必 须 能 够 找 到 在 不 同 的 站 点 之 间 对 于 相 关 行 的 唯 一 标 示 这 就 要 求 在 复 制 环 境 中, 每 个 表 都 必 须 有 主 键, 如 果 没 有 主 键, 那 么 也 必 须 指 定 多 个 字 段 的 组 合 来 作 为 唯 一 标 示 Oracle 自 己 提 供 了 以 下 几 种 冲 突 解 决 方 案 : 1) Latest and Earliest Timestamp 2) Overwrite and Discard 3) Maximum and Minimum 4) Additive and Average 5) Timestamp 6) Priority Group 7) Site Priority 如 果 上 述 Oracle 提 供 的 解 决 方 案 无 法 满 足 应 用 的 需 求, 那 么 也 可 以 利 用 PLSQL 来 编 写 自 定 义 的 冲 突 解 决 方 案 下 面 章 节 我 们 将 进 一 步 研 究 冲 突 解 决 方 案

9 三 冲 突 解 决 方 案 的 概 念 和 构 架 基 本 上 我 们 在 设 计 系 统 的 时 候, 应 该 尽 量 避 免 产 生 冲 突, 但 是 如 果 必 须 允 许 在 多 个 主 体 站 点 同 时 对 复 制 对 象 的 更 改, 那 么 我 们 就 一 定 要 考 虑 冲 突 解 决 方 案 对 于 普 通 的 插 入 ( 主 键 冲 突 ), 更 新, 删 除 产 生 的 冲 突 很 容 易 理 解, 但 是 还 有 一 些 其 它 的 情 况 也 会 产 生 冲 突, 比 如 在 3 个 或 者 3 个 以 上 的 复 制 主 站 点 环 境 中, 可 能 会 产 生 下 面 例 子 中 的 这 种 Ordering Conflicts, 其 实 也 是 更 新 冲 突 的 一 个 例 子 这 个 复 制 环 境 中 有 A,B,C 三 个 主 站 点, 每 个 站 点 都 设 置 了 优 先 级,A 是 30,B 是 25,C 是 10, 而 x 则 是 被 分 配 了 site-priority 冲 突 解 决 方 案 的 column group 中 的 一 列 Site A Site B Site C Time Action 1 所 有 的 主 体 站 点 上 x = 站 点 A 更 新 x = 站 点 C 由 于 故 障 宕 机 了, 或 者 网 络 出 现 故 障. 5 2 down 4 站 点 A 将 更 新 推 到 站 点 B. 站 点 A 和 站 点 B 上 x = down 站 点 C 仍 然 不 可 用. 这 个 更 新 事 务 仍 然 保 留 在 站 点 A 的 队 列 中. 5 站 点 C 修 复 了, 此 时 站 点 C 上 x = 2. 而 站 点 A 和 站 点 B 上 x = 站 点 B 将 x = 5 更 新 为 x = 站 点 B 将 更 新 推 到 站 点 A. 站 点 A 和 站 点 B 上 x = 7. 站 点 C 上 x = 2. 8 站 点 B 将 更 新 推 到 站 点 C. 站 点 C 认 为 旧 值 x = 2; 站 点 B 推 过 去 的 旧 值 x = 5. Oracle 检 测 到 冲 突, 然 后 应 用 站 点 B 上 的 更 新 来 解 决 冲 突 因 为 站 点 B 上 设 置 了 优 先 级 25 比 站 点 C 上 设 置 的 优 先 级 10 要 高. 所 有 站 点 上 x = 站 点 A 将 延 迟 事 务 (x = 5) 推 到 站 点 C. Oracle 检 测 到 冲 突, 因 为 站 点 C 上 的 当 前 值 (x = 7) 和 站 点 A 上 的 旧 值 (x = 2) 不 符 合. 站 点 A 比 站 点 C 有 更 高 的 优 先 级 (30). Oracle 用 这 个 过 时 的 更 新 解 决 冲 突, 这 样 站 点 C 上 的 x = 5.

10 Site Site Site Time Action A B C 因 为 这 样 的 ordering conflict, 整 个 复 制 环 境 就 不 再 一 致 了. 四 冲 突 解 决 机 制 的 研 究 实 际 上 Oracle 的 dbms_rectifier_diff.differences 过 程, 内 部 操 作 就 是 执 行 连 个 minus 操 作 把 两 边 的 差 异 记 录 下 来, 作 为 冲 突 解 决 的 数 据 这 部 分 后 台 操 作 可 以 通 过 跟 踪 Oracle 进 程 得 到 : SQL> alter session set events '10046 trace name context forever,level 12'; Session altered. Elapsed: 00:00:00.02 SQL> begin dbms_rectifier_diff.differences( 2 SNAME1 =>'HAWA', 3 ONAME1 =>'TEST', 4 REFERENCE_SITE =>'AVATAR.COOLYOUNG.COM.CN', 4 SNAME2 =>'HAWA', 6 ONAME2 =>'TEST', 7 COMPARISON_SITE =>'AUTHAA.COOLYOUNG.COM.CN', 8 WHERE_CLAUSE =>NULL, 9 COLUMN_LIST =>NULL, 10 MISSING_ROWS_SNAME =>'HAWA', 11 MISSING_ROWS_ONAME1 =>'MISSING_ROWS_TEST', 12 MISSING_ROWS_ONAME2 =>'MISSING_LOCATION_TEST', 13 MISSING_ROWS_SITE =>'AVATAR.COOLYOUNG.COM.CN', 14 MAX_MISSING =>500, 15 COMMIT_ROWS => ); 17 end; 18 PLSQL procedure successfully completed. Elapsed: 00:00:01.97 SQL> alter session set events '10046 trace name context off'; 从 跟 踪 文 件 中 我 们 可 以 清 晰 的 看 到 ( 注 意 你 所 定 义 的 所 有 参 数 在 此 都 会 有 所 体 现 ):

11 1. 首 先 是 一 个 正 向 Minus DECLARE row_count BINARY_INTEGER := 0; missing_rows BINARY_INTEGER := 0; arowid ROWID; CURSOR c IS SELECT "DATLOGONTIME", "NUMGENDER", "NUMSTATUS", "NUMUSERID", "VC2IP", "VC2USERNAME" FROM "HAWA"."TEST" MINUS SELECT "DATLOGONTIME", "NUMGENDER", "NUMSTATUS", "NUMUSERID", "VC2IP", "VC2USERNAME" FROM "HAWA"."TEST"@authaa.coolyoung.com.cn; FOR r IN c LOOP missing_rows := missing_rows + 1; IF missing_rows > 500 THEN COMMIT; EXIT; END IF; INSERT INTO "HAWA"."MISSING_ROWS_TEST" ("DATLOGONTIME", "NUMGENDER", "NUMSTATUS", "NUMUSERID", "VC2IP", "VC2USERNAME" ) VALUES (r."datlogontime", r."numgender", r."numstatus", r."numuserid", r."vc2ip", r."vc2username" ); SELECT ROWID INTO arowid FROM "HAWA"."MISSING_ROWS_TEST" WHERE ( datlogontime = r."datlogontime" OR (datlogontime IS NULL AND r."datlogontime" IS NULL) ) AND ( numgender = r."numgender" OR (numgender IS NULL AND r."numgender" IS NULL) ) AND ( numstatus = r."numstatus"

12 OR (numstatus IS NULL AND r."numstatus" IS NULL) ) AND (numuserid = r."numuserid") AND (vc2ip = r."vc2ip" OR (vc2ip IS NULL AND r."vc2ip" IS NULL)) AND ( vc2username = r."vc2username" OR (vc2username IS NULL AND r."vc2username" IS NULL) ); INSERT INTO "HAWA"."MISSING_LOCATION_TEST" (present, absent, r_id ) VALUES ('AVATAR.COOLYOUNG.COM.CN', 'AUTHAA.COOLYOUNG.COM.CN', arowid ); row_count := row_count + 1; IF row_count >= 100 THEN COMMIT; row_count := 0; END IF; END LOOP; COMMIT; 2. 其 次 是 一 个 反 向 Minus DECLARE row_count BINARY_INTEGER := 0; missing_rows BINARY_INTEGER := 0; arowid ROWID; CURSOR c IS SELECT "DATLOGONTIME", "NUMGENDER", "NUMSTATUS", "NUMUSERID", "VC2IP", "VC2USERNAME" FROM "HAWA"."TEST"@authaa.coolyoung.com.cn MINUS SELECT "DATLOGONTIME", "NUMGENDER", "NUMSTATUS", "NUMUSERID", "VC2IP", "VC2USERNAME" FROM "HAWA"."TEST"; FOR r IN c

13 LOOP missing_rows := missing_rows + 1; IF missing_rows > 500 THEN COMMIT; EXIT; END IF; INSERT INTO "HAWA"."MISSING_ROWS_TEST" ("DATLOGONTIME", "NUMGENDER", "NUMSTATUS", "NUMUSERID", "VC2IP", "VC2USERNAME" ) VALUES (r."datlogontime", r."numgender", r."numstatus", r."numuserid", r."vc2ip", r."vc2username" ); SELECT ROWID INTO arowid FROM "HAWA"."MISSING_ROWS_TEST" WHERE ( datlogontime = r."datlogontime" OR (datlogontime IS NULL AND r."datlogontime" IS NULL) ) AND ( numgender = r."numgender" OR (numgender IS NULL AND r."numgender" IS NULL) ) AND ( numstatus = r."numstatus" OR (numstatus IS NULL AND r."numstatus" IS NULL) ) AND (numuserid = r."numuserid") AND (vc2ip = r."vc2ip" OR (vc2ip IS NULL AND r."vc2ip" IS NULL)) AND ( vc2username = r."vc2username" OR (vc2username IS NULL AND r."vc2username" IS NULL) ); INSERT INTO "HAWA"."MISSING_LOCATION_TEST" (present, absent, r_id ) VALUES ('AUTHAA.COOLYOUNG.COM.CN', 'AVATAR.COOLYOUNG.COM.CN', arowid ); row_count := row_count + 1;

14 IF row_count >= 100 THEN COMMIT; row_count := 0; END IF; END LOOP; COMMIT; 经 过 这 两 个 步 骤 的 操 作,Oracle 定 位 了 冲 突 数 据 可 是 注 意, 如 果 在 解 决 这 个 问 题 时 你 没 有 挂 起 复 制,Oracle 得 到 的 数 据 可 能 是 存 在 问 题 的 而 且, 如 果 你 不 指 定 column list, 那 么 两 边 的 数 据 可 能 会 因 为 某 些 特 殊 字 段 ( 如 时 间 字 段 ) 的 特 殊 处 理 而 存 在 差 异 那 么 这 时 候 手 工 介 入 不 可 避 免 我 们 首 先 先 把 两 个 重 要 参 数 的 用 法 说 明 一 下 一 个 是 WHERE_CLAUSE, 另 外 一 个 是 COLUMN_LIST WHERE_CLAUSE 用 于 限 定 进 行 差 异 比 较 的 范 围, 这 可 以 极 大 的 缩 减 结 果 集 的 数 量, 使 用 索 引 加 快 访 问 速 度 等 比 如 我 这 里 使 用 NUMGENDER=1, 只 比 较 性 别 为 " 女 " 这 一 部 分 用 户 数 据 COLUMN_LIST 用 于 限 定 比 较 字 段, 如 果 你 能 通 过 某 个 字 段, 如 主 键 等 确 定 数 据 差 异, 那 么 你 完 全 可 以 只 比 较 单 个 字 段 而 且 显 然 可 以 轻 易 通 过 全 索 引 扫 描 来 完 成 比 较, 加 快 比 较 速 度 我 这 里 使 用 NUMUSERID, 用 户 ID 来 比 较 但 是 注 意, 这 样 的 比 较 结 果 中 将 只 包 含 NUMUSERID 信 息, 当 然 我 们 可 以 轻 易 通 过 NUMUSERID 和 原 表 的 比 较 补 全 MISSING_ROWS_TEST 表 的 信 息 begin dbms_rectifier_diff.differences( SNAME1 =>'HAWA', ONAME1 =>'TEST', REFERENCE_SITE =>'AVATAR.COOLYOUNG.COM.CN', SNAME2 =>'HAWA', ONAME2 =>'TEST', COMPARISON_SITE =>'AUTHAA.COOLYOUNG.COM.CN', WHERE_CLAUSE =>'NUMGENDER=1', COLUMN_LIST =>'NUMUSERID', MISSING_ROWS_SNAME =>'HAWA', MISSING_ROWS_ONAME1 =>'MISSING_ROWS_TEST',

15 MISSING_ROWS_ONAME2 =>'MISSING_LOCATION_TEST', MISSING_ROWS_SITE =>'AVATAR.COOLYOUNG.COM.CN', MAX_MISSING =>500, COMMIT_ROWS =>100 ); end; 这 段 代 码 供 参 考 Ok, 我 们 继 续 前 面 的 讨 论 我 们 提 到, 如 果 存 在 差 异, 通 常 需 要 手 工 介 入 清 楚 了 DIFFERENCES 的 原 理, 实 际 上 我 们 完 全 可 以 手 工 来 完 成 这 个 过 程 以 下 是 我 的 手 工 操 作 步 骤, 目 的 是 为 了 准 确 性 及 减 轻 数 据 库 压 力 : 1. 首 先 创 建 一 个 ID 差 异 表 这 个 表 不 是 必 须 的, 这 里 是 为 了 清 晰 SQL> create table hawa.prof as select NUMUSERID from hawa.hw_user where 1=0; Table created. Elapsed: 00:00: 根 据 主 键 找 到 差 异 记 录 注 意 这 里 取 决 于 你 的 数 据 库 产 生 差 异 的 原 因, 我 的 差 异 由 于 初 始 数 据 不 同 步, 即 A 全 包 含 B 并 且,A>B SQL> insert into hawa.prof 2 select * from 3 ( 4 select NUMUSERID from hawa.hw_userprofile 5 minus 6 select NUMUSERID from hawa.hw_userprofile@authaa) rows created. Elapsed: 00:00: 创 建 记 录 表 SQL> create table hawa.missing_rows_hw_userprofile

16 2 as 3 select * from hawa.hw_userprofile where 1=0; Table created. Elapsed: 00:00: 创 建 位 置 (Location) 表 注 意 这 里 Oracle 需 要 记 录 缺 失 方 向, 和 具 体 记 录 的 ROWID, 这 个 ROWID 来 自 missing_rows_hw_userprofile SQL> create table hawa.missing_loc_hw_userprofile ( 2 present VARCHAR2(128), 3 absent VARCHAR2(128), 4 r_id ROWID); Table created. Elapsed: 00:00: 根 据 差 异 信 息 查 询 到 完 整 信 息 SQL> insert into hawa.missing_rows_hw_userprofile 2 select * from hawa.hw_userprofile where NUMUSERID in 3 (select * from hawa.prof); 263 rows created. Elapsed: 00:00:00.06 SQL> commit; Commit complete. Elapsed: 00:00: 构 造 位 置 信 息 注 意 这 里 的 方 向 信 息 及 ROWID 信 息 SQL> insert into hawa.missing_loc_hw_userprofile 2 select 'AVATAR.COOLYOUNG.COM.CN','AUTHAA.COOLYOUNG.COM.CN',rowid from hawa.missing_rows_hw_userprofile; 263 rows created. Elapsed: 00:00:00.00 SQL> commit;

17 Commit complete. Elapsed: 00:00: 纠 正 数 据 冲 突 SQL> DBMS_RECTIFIER_DIFF.RECTIFY( 2 SNAME1 =>'HAWA', 3 ONAME1 =>'HW_USERPROFILE', 4 REFERENCE_SITE =>'AVATAR.COOLYOUNG.COM.CN', 5 SNAME2 =>'HAWA', 6 ONAME2 =>'HW_USERPROFILE', 7 COMPARISON_SITE =>'AUTHAA.COOLYOUNG.COM.CN', 8 COLUMN_LIST =>NULL, 9 MISSING_ROWS_SNAME =>'HAWA', 10 MISSING_ROWS_ONAME1 =>'MISSING_ROWS_HW_USERPROFILE', 11 MISSING_ROWS_ONAME2 =>'MISSING_LOC_HW_USERPROFILE', 12 MISSING_ROWS_SITE =>'AVATAR.COOLYOUNG.COM.CN', 13 COMMIT_ROWS => ); PLSQL procedure successfully completed. Elapsed: 00:00: 验 证 结 果 SQL> select count(*) from hawa.hw_userprofile; COUNT(*) Elapsed: 00:00:02.22 SQL> select count(*) from hawa.hw_userprofile@authaa; COUNT(*)

18 Elapsed: 00:00:00.21 SQL> select count(*) from hawa.hw_userprofile; COUNT(*) Elapsed: 00:00:00.59 SQL>select count(*) from COUNT(*) Elapsed: 00:00:00.20 SQL> select NUMUSERID from hawa.hw_userprofile 2 minus 3 select NUMUSERID from hawa.hw_userprofile@authaa ; no rows selected Elapsed: 00:00:23.51 SQL> 五 解 决 数 据 冲 突 -dbms_rectifier_diff 包 很 多 时 候 在 高 级 复 制 中 可 能 存 在 数 据 冲 突 和 不 一 致 现 象 Oracle 提 供 的 dbms_rectifier_diff 包 可 以 用 于 解 决 该 冲 突 以 下 通 过 实 例 来 说 明 一 下 该 Package 的 用 法 1. 创 建 复 制 组 及 复 制 对 象 SQL> execute dbms_repcat.create_master_repgroup('rep_tt'); PLSQL procedure successfully completed SQL> select gname,master,status from dba_repgroup; GNAME MASTER STATUS REP_TT Y QUIESCED

19 SQL> execute dbms_repcat.create_master_repobject(sname=>'hawa',oname=>'test', type=>'table',use_existing_object=>true,gname=>'rep_tt',copy_rows=>false); PLSQL procedure successfully completed SQL> SQL> execute dbms_repcat.generate_replication_support('hawa','test','table'); PLSQL procedure successfully completed SQL> select gname, master, status from dba_repgroup; GNAME MASTER STATUS REP_TT Y QUIESCED SQL> select * from dba_repobject; SNAME ONAME TYPE STATUS GENERATION_STATUS ID OBJECT_COMMENT GNAME MIN_COMMUNICATION REPLICATION_TRIGGER_EXISTS INTERNAL_PACKAGE_EXISTS GROUP_OWNER NESTED_TABLE HAWA TEST TABLE VALID GENERATED 8620 REP_TT Y Y Y PUBLIC N HAWA TEST$RP PACKAGE VALID 8641 SYSTEM-GENERATED: REPLICATION REP_TT PUBLIC HAWA TEST$RP PACKAGE BODY VALID 8677 SYSTEM-GENERATED: REPLICATION REP_TT PUBLIC 3 rows selected SQL> SQL> execute dbms_repcat.add_master_database(gname=>'rep_tt',master=>'authaa.coolyoung.c OM.CN',use_existing_objects=>true, copy_rows=>false, propagation_mode => 'synchronous'); PLSQL procedure successfully completed SQL> execute dbms_repcat.resume_master_activity('rep_tt',true);

20 PLSQL procedure successfully completed SQL> select * from dba_repgroup; SNAME MASTER STATUS SCHEMA_COMMENT GNAME FNAME RPC_PROCESSING_DISABLED OWNER REP_TT Y NORMAL REP_TT N PUBLIC 2. 创 建 保 存 冲 突 数 据 的 数 据 表 a.missing_rows 表 用 以 保 存 冲 突 行 SQL> create table hawa.missing_rows_test 2 as 3 select * from hawa.test where 1=0; Table created b. 用 于 保 存 缺 失 行 位 置 及 rowid SQL> create table hawa.missing_location_test ( 2 present VARCHAR2(128), 3 absent VARCHAR2(128), 4 r_id ROWID); Table created 3. 使 用 dbms_rectifier_diff.differences 查 找 缺 失 记 录 SQL> begin dbms_rectifier_diff.differences( 2 SNAME1 =>'HAWA', 3 ONAME1 =>'TEST', 4 REFERENCE_SITE =>'AVATAR.COOLYOUNG.COM.CN', 5 SNAME2 =>'HAWA', 6 ONAME2 =>'TEST', 7 COMPARISON_SITE =>'AUTHAA.COOLYOUNG.COM.CN', 8 WHERE_CLAUSE =>NULL, 9 COLUMN_LIST =>NULL, 10 MISSING_ROWS_SNAME =>'HAWA', 11 MISSING_ROWS_ONAME1 =>'MISSING_ROWS_TEST', 12 MISSING_ROWS_ONAME2 =>'MISSING_LOCATION_TEST', 13 MISSING_ROWS_SITE =>'AVATAR.COOLYOUNG.COM.CN', 14 MAX_MISSING =>500, 15 COMMIT_ROWS =>100

21 16 ); 17 end; 18 PLSQL procedure successfully completed 冲 突 记 录 被 保 存 在 我 们 创 建 的 指 定 表 中 SQL> select count(*) from hawa.missing_rows_test; COUNT(*) 共 有 172 条 差 异 记 录 SQL> select count(*) from hawa.test; COUNT(*) SQL> select count(*) from COUNT(*) SQL> select count(*) from hawa.missing_location_test; COUNT(*) 使 用 DBMS_RECTIFIER_DIFF.RECTIFY 进 行 数 据 整 合 首 先 需 要 注 意 的 是 : RECTIFY 过 程 使 用 DIFFERENCES 产 生 的 数 据 进 行 数 据 调 整 在 第 一 个 表 中 存 在, 在 第 二 个 表 中 不 存 在 的 数 据 将 被 插 入 第 二 张 表 在 第 二 个 表 中 存 在, 在 第 一 个 个 表 中 不 存 在 的 数 据 将 被 从 第 二 张 表 中 删 除 另 外, 在 这 个 数 据 纠 正 过 程 中, 你 可 以 使 用 dbms_repcat.suspend_master_activity 将 复 制 组 暂 时 挂 起 这 样 便 于 保 证 数 据 完 整 性

22 但 这 不 是 必 须 的, 如 果 复 制 一 直 激 活, 可 能 会 有 新 的 冲 突 出 现 SQL> DBMS_RECTIFIER_DIFF.RECTIFY( 2 SNAME1 =>'HAWA', 3 ONAME1 =>'TEST', 4 REFERENCE_SITE =>'AVATAR.COOLYOUNG.COM.CN', 5 SNAME2 =>'HAWA', 6 ONAME2 =>'TEST', 7 COMPARISON_SITE =>'AUTHAA.COOLYOUNG.COM.CN', 8 COLUMN_LIST =>NULL, 9 MISSING_ROWS_SNAME =>'HAWA', 10 MISSING_ROWS_ONAME1 =>'MISSING_ROWS_TEST', 11 MISSING_ROWS_ONAME2 =>'MISSING_LOCATION_TEST', 12 MISSING_ROWS_SITE =>'AVATAR.COOLYOUNG.COM.CN', 13 COMMIT_ROWS => ); PLSQL procedure successfully completed SQL> select count(*) from hawa.test@authaa; COUNT(*) SQL> select count(*) from hawa.test; COUNT(*) 数 据 矫 正 完 成 以 后, 数 据 会 自 动 从 missing_rows 表 中 删 除 SQL> select count(*) from hawa.missing_rows_test; COUNT(*) SQL> 六 MVR 的 概 念 和 构 架 Oracle 提 供 两 种 不 同 的 复 制 方 法 : 多 主 复 制 (multimaster replication) 和 物 化 视 图 复 制

23 (materialized view replication) 还 可 以 通 过 两 种 复 制 的 组 合 构 成 混 合 复 制 本 文 主 要 描 述 物 化 视 图 复 制, 也 就 是 MVR, 由 于 物 化 视 图 复 制 中 的 主 站 点 就 是 多 主 复 制 中 的 站 点, 因 此 也 会 对 相 应 的 多 主 复 制 中 涉 及 到 的 内 容 作 相 应 的 说 明 一 物 化 视 图 的 概 念 和 体 系 结 构 Oracle 的 物 化 视 图 主 要 用 在 两 个 方 面 : 高 级 复 制 和 数 据 仓 库 在 高 级 复 制 环 境 中, 物 化 视 图 用 于 复 制 数 据 到 非 主 体 站 点 在 数 据 仓 库 环 境 中, 物 化 视 图 用 于 对 代 价 昂 贵 的 查 询 进 行 缓 存 下 面 讨 论 物 化 视 图 在 高 级 复 制 环 境 中 的 使 用 1. 物 化 视 图 是 什 么 物 化 视 图 (materialized view) 是 主 体 对 象 在 某 一 时 间 点 上 的 复 制 品 这 个 主 体 对 象 即 可 以 是 主 体 站 点 (master site) 上 的 一 个 主 表, 也 可 以 是 物 化 视 图 站 点 (materialized view site) 上 的 一 个 主 物 化 视 图 在 多 主 复 制 中, 一 个 站 点 上 的 表 被 其 他 主 体 站 点 连 续 不 断 的 更 新 ( 这 个 也 是 要 分 同 步 和 异 步 的, 异 步 情 况 下 也 是 类 似 于 refresh 这 样 的 定 时 push), 而 物 化 视 图 则 是 从 一 个 主 体 站 点 或 主 物 化 视 图 站 点 批 量 的 进 行 更 新 ( 也 叫 做 刷 新 refresh) 当 物 化 视 图 进 行 快 速 刷 新 时 (fast refresh),oracle 会 检 查 主 表 (master table) 或 主 物 化 视 图 (master materialized view) 自 上 次 刷 新 以 来 的 所 有 改 变, 并 将 其 应 用 到 物 化 视 图 上 因 此, 如 果 主 体 对 象 自 上 次 刷 新 以 来 存 在 一 些 改 变, 则 刷 新 操 作 则 会 花 费 一 定 的 时 间 把 这 些 改 变 应 用 到 物 化 视 图 上 如 果 自 上 次 刷 新 以 来 没 有 发 生 任 何 变 化, 则 物 化 视 图 刷 新 操 作 会 迅 速 的 完 成 2. 为 什 么 使 用 物 化 视 图 你 可 以 使 用 物 化 视 图 来 完 成 以 下 目 标 : 减 轻 网 络 负 载 ; 创 建 一 个 Mass Deployment 环 境 ; 数 据 子 集 ; Disconnected Computing (1) 减 轻 网 络 负 载 : 你 可 以 通 过 物 化 视 图 将 数 据 分 布 到 许 多 站 点, 所 有 用 户 不 需 要 再 访 问 一 个 数 据 库 服 务 器, 负 载 被 分 散 到 多 个 数 据 库 服 务 器 上 和 多 主 复 制 不 同 的 是, 你 可 以 根 据 需 要, 只 复 制 表 中 的 一 部 分 字 段 或 者 表 中 的 一 部 分 数 据, 从 而 降 低 了 每 次 复 制 的 数 据 量 多 主 复 制 也 可 以 分 布 网 络 负 载, 但 与 物 化 视 图 相 比 它 对 网 络 的 要 求 要 严 格 得 多 由 于 多 主 复 制 各 个 站 点 间 采 用 的 是 网 状 连 接, 每 个 站 点 和 其 他 所 有 的 站 点 都 有 通 信, 而 且 多 主 复 制 一 般 用 于 提 供 实 时 或 接 近 实 时 的 复 制, 这 会 导 致 很 高 的 网 络 流 量, 对 于 网 络 状 况 要 求 比 较 严 格 物 化 视 图 采 用 高 效 的 批 量 更 新 方 式, 从 一 个 主 体 站 点 或 一 个 主 物 化 视 图 站 点 获 得 更 新 和 多 主 复 制 的 连 续 通 信 不 一 样, 物 化 视 图 复 制 只 需 要 周 期 性 的 刷 新, 从 而 对 网 络 的 要 求 大 大 降 低 (2) 创 建 Mass Deployment 环 境 : 展 开 模 板 (Deployment templete) 允 许 你 在 本 地 预 先 建 立 物 化 视 图 环 境 你 可 以 利 用 展 开 模 板 快 速 简 便 的 展 开 物 化 视 图 环 境 你 可 以 不 用 修 改 展 开 模 板, 而 是 利 用 参 数 来 建 立 不 同 用 户 的 客 户 化 数 据 集 (3) 数 据 子 集 (Data subsetting): 物 化 视 图 允 许 你 的 复 制 建 立 在 列 (column) 或 者 行 (row-level) 的 基 础 上, 而 多 主 复 制 需

24 要 复 制 整 张 表 通 过 使 用 Data subsetting, 对 于 每 个 站 点 你 可 以 仅 复 制 满 足 本 站 点 需 要 的 数 据 (4) Disconnected Deployment: 物 化 视 图 不 需 要 专 用 网 络 连 接 你 可 以 利 用 job 的 调 度 机 制 完 成 物 化 视 图 的 定 时 自 动 刷 新, 你 也 可 以 在 需 要 的 时 候 手 工 刷 新 物 化 视 图 而 这 第 二 种 方 法 是 在 笔 记 本 上 运 行 应 用 程 序 的 一 种 理 想 解 决 方 案 3. 物 化 视 图 的 分 类 物 化 视 图 分 为 只 读 可 更 新 和 可 写 三 类 不 能 对 只 读 物 化 视 图 进 行 DML 操 作 (INSERTUPDATEDELETE), 对 于 可 更 新 和 可 写 物 化 视 图 则 可 以 进 行 DML 操 作 注 意 : 对 于 只 读 可 更 新 和 可 写 物 化 视 图, 定 义 物 化 视 图 的 查 询 语 句 必 须 包 含 主 体 对 象 中 的 所 有 主 键 列 (1) 只 读 物 化 视 图 在 建 立 物 化 视 图 时, 省 略 FOR UPDATE 语 句 建 立 只 读 物 化 视 图 除 了 不 需 要 属 于 一 个 物 化 视 图 组 之 外, 只 读 物 化 视 图 的 许 多 机 制 都 和 可 更 新 物 化 视 图 相 同 使 用 只 读 物 化 视 图 可 以 消 除 在 主 体 站 点 或 者 主 物 化 视 图 站 点 上 由 物 化 视 图 引 入 的 数 据 冲 突, 这 个 优 点 的 代 价 是 只 读 物 化 视 图 不 能 进 行 dml 操 作 建 立 只 读 物 化 视 图 的 例 子 如 下 : CREATE MATERIALIZED VIEW hr.employees AS SELECT * FROM hr.employees@orc1.world; 注 意 : 使 用 只 读 物 化 视 图 只 能 消 除 由 物 化 视 图 站 点 引 入 的 冲 突, 并 不 意 味 着 使 用 只 读 物 化 视 图 就 不 会 有 冲 突 产 生, 后 面 会 举 例 详 细 说 明 (2) 可 更 新 物 化 视 图 在 建 立 物 化 视 图 时, 指 明 FOR UPDATE 语 句 建 立 可 更 新 物 化 视 图 为 了 可 更 新 物 化 视 图 的 修 改 在 刷 新 时 可 以 被 推 回 (push pack) 主 体 对 象, 可 更 新 物 化 视 图 必 须 属 于 一 个 物 化 视 图 组 由 于 可 更 新 物 化 视 图 允 许 数 据 的 修 改, 因 此 可 以 降 低 主 体 站 点 的 负 载 下 面 是 建 立 可 更 新 物 化 视 图 的 例 子 : CREATE MATERIALIZED VIEW hr.departments FOR UPDATE AS SELECT * FROM hr.departments@orc1.world; 下 面 的 语 句 建 立 一 个 物 化 视 图 组 : DBMS_REPCAT.CREATE_MVIEW_REPGROUP ( gname => 'hr_repg', master => 'orc1.world', propagation_mode => 'ASYNCHRONOUS'); 下 面 的 语 句 将 物 化 视 图 hr.departments 加 入 到 物 化 视 图 组 hr_repg 中, 使 得 物 化 视 图 hr.departments 可 更 新 DBMS_REPCAT.CREATE_MVIEW_REPOBJECT (

25 gname => 'hr_repg', sname => 'hr', oname => 'departments', type => 'SNAPSHOT', min_communication => TRUE); 注 意 : 1. 不 要 在 建 立 可 更 新 物 化 视 图 时 使 用 列 的 别 名, 否 则, 在 将 物 化 视 图 加 入 到 物 化 视 图 组 的 时 候 会 发 生 错 误 2. 主 表 或 主 物 化 视 图 列 上 的 默 认 值 不 会 自 动 应 用 到 可 更 新 物 化 视 图 上 3. 可 更 新 物 化 视 图 不 支 持 DELETE CASCADE 操 作 (3) 可 写 物 化 视 图 可 写 物 化 视 图 指 出 FOR UPDATE 语 句, 但 是 没 有 加 入 到 物 化 视 图 组 用 户 可 以 对 可 写 物 化 视 图 执 行 DML 操 作, 但 是 在 执 行 刷 新 操 作 时, 修 改 不 会 被 推 回, 因 此 所 有 的 修 改 在 刷 新 后 全 部 丢 失 所 有 允 许 只 读 物 化 视 图 的 情 况 也 同 样 允 许 可 写 物 化 视 图 由 于 可 写 物 化 视 图 很 少 使 用, 因 此 以 后 大 部 分 内 容 都 只 涉 及 只 读 物 化 视 图 和 可 更 新 物 化 视 图 4. 物 化 视 图 可 用 性 Oracle 提 供 几 种 不 同 类 型 的 物 化 视 图, 以 满 足 各 种 复 制 环 境 的 需 要 介 绍 下 列 物 化 视 图 以 及 它 们 使 用 的 环 境 : 主 键 物 化 视 图 (Primary Key Materialized Views); 对 象 物 化 视 图 (Object Materialized Views); ROWID 物 化 视 图 (ROWID Materialized Views); 复 杂 物 化 视 图 (Complex Materialized Views) 当 建 立 物 化 视 图 时, 不 管 物 化 视 图 属 于 何 种 类 型, 总 是 给 出 方 案 名 (schema), 也 就 是 查 询 语 句 中 表 的 所 有 者 名 称 例 如 : CREATE MATERIALIZED VIEW hr.employees AS SELECT * FROM hr.employees@orc1.world; 这 个 例 子 中, 方 案 名 hr 被 明 确 指 出 (1) 主 键 物 化 视 图 主 键 物 化 视 图 是 默 认 的 物 化 视 图 如 果 主 键 物 化 视 图 是 作 为 物 化 视 图 组 的 一 部 分 建 立 的, 且 指 定 了 FOR UPDATE 语 句, 那 么 这 个 物 化 视 图 是 可 更 新 的, 且 这 个 物 化 视 图 组 必 须 和 主 站 点 中 复 制 组 的 同 名 另 外, 可 更 新 物 化 视 图 必 须 和 主 复 制 组 在 不 同 的 数 据 库 中 当 修 改 发 生 后, 修 改 的 数 据 以 行 级 为 单 位 被 传 播, 每 行 数 据 由 主 键 确 定 ( 而 不 是 ROWID) 下 面 是 一 个 创 建 可 更 新 的 主 键 物 化 视 图 的 例 子 : CREATE MATERIALIZED VIEW oe.customers FOR UPDATE AS SELECT * FROM oe.customers@orc1.world; 主 键 物 化 视 图 可 以 包 含 一 个 子 查 询, 因 此 你 可 以 在 建 立 物 化 视 图 时, 建 立 所 有 数 据 的 一 个 子 集, 也 就 是 说, 建 立 物 化 视 图 时 可 以 只 选 取 你 需 要 的 数 据 行 子 查 询 是 嵌 入 在 主 查 询 中 的 查 询, 因 此 你 可 以 在 建 立 物 化 视 图 时 有 超 过 一 个 的 SELECT 语 句 子 查 询 可 以 是 简 单 的 WHERE 语 句 也 可 以 是 复 杂 的 多 层 WHERE EXISTS 语 句 嵌 套 如 果 主 站 点 中 的 主 对 象 建 立 了 物 化 视

26 图 日 志 表 (materialized view log), 那 么 一 些 包 含 特 定 类 型 子 查 询 的 主 键 物 化 视 图 仍 然 可 以 快 速 ( 增 量 ) 刷 新 快 速 刷 新 利 用 materialized view logs 只 更 新 自 上 次 刷 新 后 被 修 改 的 记 录 下 面 的 物 化 视 图 包 含 一 个 WHERE 语 句 的 子 查 询 : CREATE MATERIALIZED VIEW oe.orders REFRESH FAST AS SELECT * FROM oe.orders@orc1.world o WHERE EXISTS (SELECT * FROM oe.customers@orc1.world c WHERE o.customer_id = c.customer_id AND c.credit_limit > 10000); 这 种 类 型 的 物 化 视 图 又 叫 做 子 查 询 物 化 视 图 (2) 对 象 物 化 视 图 如 果 物 化 视 图 是 基 于 对 象 表, 并 且 在 建 立 是 指 定 了 OF TYPE 语 句, 那 么 这 个 物 化 视 图 叫 做 对 象 物 化 视 图 对 象 物 化 视 图 的 结 构 和 对 象 表 相 同 对 象 物 化 视 图 由 行 对 象 (row objects) 组 成, 每 一 个 行 对 象 由 一 个 对 象 标 识 列 OID(object identifier) 标 识 (3) ROWID 物 化 视 图 为 了 后 向 兼 容 性,Oracle 除 了 默 认 的 主 键 物 化 视 图 外, 还 支 持 ROWID 物 化 视 图 ROWID 物 化 视 图 基 于 主 对 象 中 行 记 录 的 物 理 标 识 ROWID(physical row identifiers) ROWID 物 化 视 图 只 被 用 在 基 于 Oracle7 版 本 的 主 对 象 的 物 化 视 图, 它 不 能 被 用 于 建 立 基 于 Oracle8 或 更 高 版 本 主 站 点 的 物 化 视 图 下 面 是 一 个 建 立 ROWID 物 化 视 图 的 例 子 : CREATE MATERIALIZED VIEW oe.orders REFRESH WITH ROWID AS SELECT * FROM oe.orders@orc1.world; (4) 复 杂 物 化 视 图 物 化 视 图 的 定 义 必 须 满 足 某 种 约 束, 才 能 执 行 快 速 刷 新 如 果 你 需 要 的 物 化 视 图 的 定 义 查 询 语 句 更 为 一 般 化, 不 能 满 足 限 制 条 件, 那 么 这 个 物 化 视 图 是 复 杂 的, 并 且 不 能 执 行 快 速 刷 新 一 般 来 说, 如 果 一 个 物 化 视 图 的 定 义 查 询 包 含 下 列 语 句, 则 被 认 为 是 复 杂 物 化 视 图 : CONNECT BY 语 句 ; 例 如 : CREATE MATERIALIZED VIEW hr.emp_hierarchy AS SELECT LPAD(' ', 4*(LEVEL-1)) USERNAME FROM hr.employees@orc1.world START WITH manager_id IS NULL CONNECT BY PRIOR employee_id = manager_id; INTERSECT,MINUS 或 UNION ALL 操 作 ; 例 如 : CREATE MATERIALIZED VIEW hr.mview_employees AS SELECT employees.employee_id, employees. FROM hr.employees@orc1.world UNION ALL SELECT new_employees.employee_id, new_employees. FROM hr.new_employees@orc1.world;

27 在 某 些 情 况 下 的 DISTINCT 和 UNIQUE 关 键 字 ; 包 含 DISTINCT 和 UNIQUE 关 键 字 的 并 不 都 是 复 杂 物 化 视 图, 简 单 物 化 视 图 (simple materialized view) 中 也 可 以 包 含 这 两 个 关 键 字 下 面 的 例 子 是 建 立 一 个 包 含 DISTINCT 关 键 字 的 复 杂 物 化 视 图 : CREATE MATERIALIZED VIEW hr.employee_depts AS SELECT DISTINCT department_id FROM hr.employees@orc1.world ORDER BY department_id; 聚 集 操 作 ; 如 下 例 : CREATE MATERIALIZED VIEW hr.average_sal AS SELECT AVG(salary) "Average" FROM hr.employees@orc1.world; 连 接 不 在 子 查 询 中 的 对 象 ; 例 如 : CREATE MATERIALIZED VIEW hr.emp_join_dep AS SELECT last_name FROM hr.employees@orc1.world e, hr.departments@orc1.world d WHERE e.department_id = d.department_id; 某 种 情 况 下 的 UNION 操 作 例 如 : CREATE MATERIALIZED VIEW oe.orders AS SELECT order_total FROM oe.orders@orc1.world o WHERE EXISTS (SELECT cust_first_name, cust_last_name FROM oe.customers@orc1.world c WHERE o.customer_id = c.customer_id AND c.credit_limit > 50) UNION SELECT customer_id FROM oe.orders@orc1.world o WHERE EXISTS (SELECT cust_first_name, cust_last_name FROM oe.customers@orc1.world c WHERE o.customer_id = c.customer_id AND c.account_mgr_id = 30); 以 及 其 他 任 何 不 满 足 特 定 约 束 条 件 的 子 查 询 具 体 条 件 见 物 化 视 图 中 的 数 据 子 集 (Data Subsetting with Materialized Views) 的 物 化 视 图 子 查 询 约 束 (Restrictions for Materialized Views with Subqueries)

28 注 意 : 如 果 可 能, 尽 量 避 免 使 用 复 杂 物 化 视 图, 因 为 复 杂 物 化 视 图 不 能 快 速 刷 新, 将 会 降 低 网 络 性 能 对 比 简 单 物 化 视 图 和 复 杂 物 化 视 图 : 为 了 某 种 应 用, 你 可 能 需 要 考 虑 使 用 一 个 复 杂 物 化 视 图 你 有 两 种 方 法 可 以 选 择, 它 们 各 有 利 弊, 具 体 如 下 : 图 一 : 复 杂 物 化 视 图 和 简 单 物 化 视 图 对 比 复 杂 物 化 视 图 : 上 图 中 方 法 A 展 示 了 一 个 复 杂 物 化 视 图 这 个 复 杂 物 化 视 图 在 数 据 库 Ⅱ 中 展 示 出 高 效 的 查 询 性 能, 因 为 连 接 操 作 在 物 化 视 图 刷 新 时 已 经 完 成 然 而, 由 于 是 复 杂 物 化 视 图, 必 须 执 行 完 全 刷 新, 这 将 极 为 可 能 比 执 行 快 速 刷 新 要 慢 得 多 简 单 物 化 视 图 通 过 视 图 连 接 : 上 图 中 方 法 B 在 DATABASEⅡ 展 示 了 两 个 简 单 物 化 视 图, 它 们 通 过 一 个 视 图 执 行 连 接 操 作 通 过 视 图 查 询 不 可 能 有 方 法 A 中 查 询 复 杂 物 化 视 图 那 样 的 性 能 然 而, 简 单 物 化 视 图 可 以 更 加 有 效 的 使 用 快 速 刷 新 和 物 化 视 图 日 志 (materialized view logs) 总 的 来 说 : 如 果 你 很 少 刷 新, 且 需 要 比 较 高 的 查 询 性 能, 则 使 用 方 法 A (complex materialized view) 如 果 你 经 常 刷 新, 且 可 以 牺 牲 查 询 性 能, 则 使 用 方 法 B (simple materialized view) 5. 物 化 视 图 操 作 所 需 权 限 三 种 不 同 类 型 的 用 户 对 物 化 视 图 执 行 操 作 : 建 立 者 (creator): 建 立 物 化 视 图 的 用 户 刷 新 者 (refresher): 刷 新 物 化 视 图 的 用 户 所 有 者 (owner): 拥 有 物 化 视 图 的 用 户 物 化 视 图 存 在 于 所 有 者 的 方 案 (schema) 中

29 一 个 用 户 对 物 化 视 图 可 以 执 行 所 有 的 操 作 然 而, 在 一 些 复 制 环 境 中, 不 同 的 用 户 对 物 化 视 图 执 行 不 同 的 操 作 执 行 这 些 操 作 需 要 的 权 限 取 决 于 操 作 由 同 一 个 用 户 执 行 还 是 由 不 同 的 用 户 执 行 下 面 详 细 解 释 所 需 权 限 注 意 : 下 文 没 有 包 括 用 重 写 查 询 (query rewrite) 选 项 来 创 建 物 化 视 图 时 所 需 要 的 权 限 (1) 创 建 者 是 所 有 者 如 果 一 个 物 化 视 图 的 创 建 者 同 时 也 是 一 个 物 化 视 图 的 所 有 者, 那 么 这 个 用 户 可 以 通 过 明 确 授 权 或 通 过 角 色 拥 有 下 列 权 限 来 创 建 一 个 物 化 视 图 CREATE MATERIALIZED VIEW 或 者 CREATE ANY MATERIALIZED VIEW 权 限 ; CREATE TABLE 或 者 CREATE ANY TABLE 权 限 ; 如 果 数 据 库 兼 容 性 在 以 下, 需 要 CREATE VIEW 或 者 CREATE ANY VIEW 权 限 ; 对 主 站 点 上 对 象 和 物 化 视 图 日 志 的 SELECT 权 限 或 者 SELECT ANY TABLE 系 统 权 限 如 果 主 站 点 不 是 本 地 数 据 库, 则 SELECT 权 限 必 须 授 权 给 一 个 主 站 点 用 户, 这 个 用 户 就 是 物 化 视 图 站 点 通 过 数 据 库 链 (database link) 连 接 到 主 站 点 的 用 户 ( 数 据 库 链 创 建 语 句 中 CONNECT TO 关 键 字 后 面 跟 的 用 户 ) (2) 创 建 者 不 是 所 有 者 如 果 物 化 视 图 的 创 建 者 不 是 所 有 者, 必 须 授 予 创 建 者 和 所 有 者 某 种 权 限 才 能 创 建 物 化 视 图 创 建 者 的 权 限 可 以 直 接 授 权 或 通 过 角 色 授 权, 但 是 所 有 者 的 权 限 必 须 通 过 明 确 授 权 获 得 也 就 是 说, 所 有 者 的 权 限 不 能 通 过 角 色 获 得 创 建 者 : CREATE ANY MATERIALIZED VIEW 系 统 权 限 所 有 者 : CREATE TABLE 或 者 CREATE ANY TABLE 权 限 ; 如 果 数 据 库 兼 容 性 在 以 下, 需 要 CREATE VIEW 或 者 CREATE ANY VIEW 权 限 ; 对 主 站 点 上 对 象 和 物 化 视 图 日 志 的 SELECT 权 限 或 者 SELECT ANY TABLE 系 统 权 限 如 果 主 站 点 不 是 本 地 数 据 库, 则 SELECT 权 限 必 须 授 权 给 一 个 主 站 点 用 户, 这 个 用 户 就 是 物 化 视 图 站 点 通 过 数 据 库 链 (database link) 连 到 主 站 点 的 用 户 ( 数 据 库 链 创 建 语 句 中 CONNECT TO 关 键 字 后 面 跟 的 用 户 ) (3) 刷 新 者 是 所 有 者 如 果 一 个 物 化 视 图 的 刷 新 者 同 时 也 是 物 化 视 图 的 拥 有 者, 这 个 用 户 需 要 主 站 点 上 对 象 和 物 化 视 图 日 志 的 SELECT 权 限 或 者 SELECT ANY TABLE 系 统 权 限 如 果 主 站 点 不 是 本 地 数 据 库, 则 SELECT 权 限 必 须 授 权 给 一 个 主 站 点 用 户, 这 个 用 户 就 是 物 化 视 图 站 点 通 过 数 据 库 链 (database link) 连 到 主 站 点 的 用 户 ( 数 据 库 链 创 建 语 句 中 CONNECT TO 关 键 字 后 面 跟 的 用 户 ) 权 限 可 以 通 过 直 接 授 权 或 通 过 角 色 授 权 (4) 刷 新 者 不 是 所 有 者 如 果 物 化 视 图 的 刷 新 者 不 是 所 有 者, 必 须 授 予 刷 新 者 和 所 有 者 某 种 权 限 这 些 权 限 可 以 直 接 授 权 或 通 过 角 色 授 权 刷 新 者 : ALTER ANY MATERIALIZED VIEW 系 统 权 限 所 有 者 : 主 站 点 上 对 象 和 物 化 视 图 日 志 的 SELECT 权 限 或 者 SELECT ANY TABLE 系 统 权 限 如 果 主 站 点 不 是 本 地 数 据 库, 则 SELECT 权 限 必 须 授 权 给 一 个 主 站 点 用 户, 这 个 用 户 就 是 物 化 视 图 站 点 通 过 数 据 库 链 (database link) 连 到 主 站 点 的 用 户 ( 数 据 库 链 创 建 语 句 中 CONNECT TO 关 键 字 后 面 跟 的 用 户 )

30 6. 物 化 视 图 中 的 数 据 子 集 在 某 些 情 况 下, 你 可 能 希 望 你 的 物 化 视 图 反 映 主 表 或 者 主 物 化 视 图 中 数 据 的 子 集 通 过 使 用 WHERE 语 句, 行 子 集 允 许 你 包 含 主 表 或 者 主 物 化 视 图 中 你 想 要 的 行 记 录 列 子 集 允 许 你 从 主 表 或 者 主 物 化 视 图 中 只 包 含 你 所 需 要 的 列 在 创 建 物 化 视 图 时, 通 过 在 SELECT 语 句 中 明 确 指 出 所 要 选 取 的 列 来 实 现 列 子 集 如 果 你 使 用 展 开 模 板 来 创 建 你 的 物 化 视 图, 那 么 你 可 以 在 可 更 新 物 化 视 图 上 定 义 列 子 集 (1) 使 用 数 据 子 集 的 一 些 原 因 降 低 网 络 流 量 : 在 一 个 使 用 列 子 集 的 物 化 视 图 中, 只 有 满 足 物 化 视 图 定 义 中 WHERE 条 件 语 句 的 修 改 才 会 传 播 到 物 化 视 图 站 点, 因 此 减 少 了 事 务 传 输 数 量, 降 低 了 网 络 流 量 保 护 敏 感 数 据 : 用 户 只 能 查 看 满 足 物 化 视 图 查 询 定 义 的 数 据 减 少 资 源 需 要 : 如 果 物 化 视 图 建 立 在 笔 记 本 上, 则 硬 盘 与 服 务 器 上 的 硬 盘 相 比 要 小 得 多 数 据 子 集 可 以 显 著 的 减 少 存 储 空 间 提 高 刷 新 性 能 : 由 于 较 少 的 数 据 传 播 到 物 化 视 图 站 点, 刷 新 执 行 的 更 加 迅 速 这 一 点 对 于 那 些 需 要 通 过 拨 号 连 接 来 刷 新 物 化 视 图 的 用 户 十 分 重 要 例 如 : 下 面 语 句 基 于 oe.orders@orc1.world 主 表 创 建 一 个 物 化 视 图, 而 且 只 包 括 sales_rep_id 等 于 173 的 记 录 CREATE MATERIALIZED VIEW oe.orders REFRESH FAST AS SELECT * FROM oe.orders@orc1.world WHERE sales_rep_id = 173; 主 表 中 sales_rep_id 不 等 于 173 的 记 录 被 排 除 出 物 化 视 图 (2) 带 子 查 询 的 物 化 视 图 上 面 的 例 子 是 针 对 单 个 表 的 如 果 创 建 基 于 多 个 表 的 物 化 视 图, 则 定 义 和 维 护 这 些 物 化 视 图 相 对 来 说 困 难 得 多 主 要 包 括 多 对 一 子 查 询 一 对 多 子 查 询 多 对 多 子 查 询 以 及 包 含 UNION 操 作 的 子 查 询 几 种 这 些 物 化 视 图 比 较 复 杂, 而 且 在 实 际 复 制 中 不 经 常 使 用, 因 此 这 里 不 再 详 细 描 述 如 果 对 这 部 分 有 兴 趣, 请 参 阅 Oracle9i Advanced Replication 3-18 Materialized Views with Subqueries 部 分 下 面 描 述 一 下 建 立 快 速 刷 新 子 查 询 物 化 视 图 的 条 件 物 化 视 图 子 查 询 约 束 带 子 查 询 的 物 化 视 图 为 了 能 达 到 快 速 刷 新 的 能 力, 必 须 满 足 许 多 约 束 条 件, 具 体 如 下 : 必 须 是 主 键 物 化 视 图 ; 物 化 视 图 日 志 必 须 包 括 某 些 在 子 查 询 中 出 现 的 列 ; 如 果 子 查 询 是 多 对 多 或 一 对 多 查 询, 连 接 列 中 非 主 键 的 部 分 必 须 包 括 在 物 化 视 图 日 志 中, 多 对 一 子 查 询 没 有 这 个 约 束 ; 子 查 询 必 须 是 肯 定 条 件, 比 如, 你 可 以 使 用 EXISTS, 但 是 不 能 使 用 NOT EXISTS; 子 查 询 必 须 使 用 EXISTS 连 接 到 嵌 套 层 (nested level), 不 能 使 用 IN; 每 张 表 只 允 许 一 个 EXISTS 表 达 式 ; 连 接 表 达 式 必 须 采 用 精 确 匹 配 或 等 于 连 接 ; 在 子 查 询 中, 每 张 表 只 能 被 连 接 一 次 ; 在 嵌 套 层 (nested level) 中, 每 张 表 必 须 有 主 键 存 在 ; 嵌 套 层 (nested level) 只 能 参 考 比 它 高 的 层 中 的 表 ; 子 查 询 可 以 包 含 AND 操 作, 但 是 每 个 OR 操 作 只 能 连 接 能 确 定 一 条 记 录 的 列, 子 查 询 中 多 个 OR 运 算 可 以 通 过 AND 连 接 ; 子 查 询 中 的 所 有 表 必 须 在 同 一 个 主 体 站 点 或 主 物 化 视 图 站 点 中 7. 决 定 物 化 视 图 的 快 速 刷 新 能 力

31 为 了 检 测 所 创 建 的 带 子 查 询 的 物 化 视 图 是 否 满 足 上 面 提 到 的 建 立 快 速 刷 新 物 化 视 图 的 种 种 约 束, 在 创 建 时, 如 果 违 反 任 何 约 束 条 件, 则 Oracle 会 返 回 错 误 提 示 如 果 在 建 立 物 化 视 图 时 指 明 强 制 刷 新 (force refresh), 则 不 会 收 到 任 何 错 误 信 息 因 为 在 强 制 刷 新 时, 如 果 不 能 执 行 快 速 刷 新 的 话,Oracle 会 自 动 执 行 完 全 刷 新 (complete refresh) 你 也 可 以 通 过 DBMS_MVIEW 包 中 的 EXPLAIN_MVIEW 过 程 来 检 测 已 存 在 的 物 化 视 图 甚 至 是 还 没 有 建 立 的 物 化 视 图 的 一 些 信 息, 具 体 信 息 如 下 : 物 化 视 图 的 各 种 能 力 ; 对 于 这 个 物 化 视 图 来 说 每 种 能 力 是 否 可 能 ; 如 果 不 可 能, 给 出 导 致 这 种 能 力 不 可 能 的 原 因 ; 这 些 信 息 可 以 存 储 在 varray 中, 也 可 以 存 储 在 MV_CAPABILITIES_TABLE 表 中 如 果 你 希 望 把 信 息 存 储 到 表 中, 那 么 你 必 须 在 执 行 EXPLAIN_MVIEW 存 储 过 程 以 前, 执 行 ORACLE_HOMErdbmsadmin 目 录 下 的 utlxmv.sql 脚 本 例 如 : 检 查 oe.orders 物 化 视 图 的 能 力 输 入 : EXECUTE DBMS_MVIEW.EXPLAIN_MVIEW ('oe.orders'); 或 者 如 果 物 化 视 图 不 存 在, 你 可 以 输 入 你 希 望 建 立 的 物 化 视 图 的 查 询 语 句 : DBMS_MVIEW.EXPLAIN_MVIEW ('SELECT * FROM oe.orders@orc1.world o WHERE EXISTS (SELECT * FROM oe.customers@orc1.world c WHERE o.customer_id = c.customer_id AND c.credit_limit > 500)'); 查 询 MV_CAPABILITIES_TABLE 表 得 到 结 果, 如 下 例 : SQL> set linesize 110 SQL> col RELATED_TEXT format a60 SQL> select capability_name, possible, related_text from mv_capabilities_table; CAPABILITY_NAME P RELATED_TEXT PCT N REFRESH_COMPLETE Y REFRESH_FAST N REWRITE N PCT_TABLE N 此 上 下 文 不 支 持 对 象 数 据 类 型 REFRESH_FAST_AFTER_INSERT N OE.CUSTOMERS REFRESH_FAST_AFTER_INSERT N OE.ORDERS REFRESH_FAST_AFTER_ONETAB_DML N REFRESH_FAST_AFTER_ANY_DML N REFRESH_FAST_PCT N REWRITE_FULL_TEXT_MATCH N OE.ORDERS REWRITE_FULL_TEXT_MATCH N OE.CUSTOMERS REWRITE_FULL_TEXT_MATCH N 此 上 下 文 不 支 持 对 象 数 据 类 型 REWRITE_PARTIAL_TEXT_MATCH N REWRITE_GENERAL N REWRITE_PCT N

32 已 选 择 16 行 8. 多 级 物 化 视 图 (Multitier Materialized Views) 物 化 视 图 的 创 建 可 以 基 于 表, 也 可 以 基 于 其 他 物 化 视 图, 这 种 物 化 视 图 叫 做 多 级 物 化 视 图 (multitier materialized views) 这 种 基 于 其 他 物 化 视 图 的 物 化 视 图 可 以 是 只 读 的 (read only) 也 可 以 是 可 更 新 的 (updatable) 当 使 用 多 级 物 化 视 图 时, 基 于 主 体 表 的 物 化 视 图 叫 做 第 一 层 物 化 视 图 (level 1 materialized view) 基 于 第 一 层 物 化 视 图 的 物 化 视 图 叫 做 第 二 层 物 化 视 图 (level 2 materialized view) 下 一 层 是 第 三 层, 依 此 类 推 作 为 其 他 物 化 视 图 的 主 对 象 的 物 化 视 图 叫 做 主 物 化 视 图 (master materialized view) 处 在 任 何 一 层 的 物 化 视 图 都 可 以 成 为 主 物 化 视 图, 而 且 可 以 存 在 多 个 其 他 的 物 化 视 图 基 于 同 一 个 主 物 化 视 图 主 物 化 视 图 和 主 站 点 中 的 主 表 起 相 同 的 作 用 也 就 是 说 把 第 二 层 物 化 视 图 上 的 改 变 推 到 第 一 层 物 化 视 图 上 的 操 作 和 把 第 一 次 物 化 视 图 上 的 改 变 推 到 主 表 上 的 操 作 是 完 全 一 样 的 在 主 物 化 视 图 站 点 必 须 注 册 一 个 接 收 者 (receiver) 在 多 层 物 化 视 图 站 点 中 接 收 者 负 责 接 受 和 应 用 来 自 主 物 化 视 图 站 点 传 播 者 的 延 迟 事 务 多 层 物 化 视 图 (Multitier materialized views) 在 设 计 复 制 环 境 时 提 供 了 很 高 的 灵 活 性 一 些 物 化 视 图 站 点 不 需 要 复 制 主 表 中 所 有 的 数 据, 实 际 上, 这 些 站 点 可 能 根 本 没 有 足 够 的 空 间 存 储 这 些 数 据 另 外, 只 复 制 较 少 的 数 据 意 味 着 在 网 络 上 活 动 的 数 据 也 较 少 使 用 多 层 物 化 视 图 的 限 制 条 件 : 主 物 化 视 图 和 基 于 主 物 化 视 图 的 物 化 视 图 都 必 须 满 足 下 列 条 件 : 1) 必 须 是 主 键 物 化 视 图 ; 2) 所 在 数 据 库 兼 容 性 等 于 或 者 高 于 主 物 化 视 图 的 一 些 限 制 下 列 类 型 的 物 化 视 图 不 能 作 为 可 更 新 物 化 视 图 的 主 物 化 视 图 1) ROWID 物 化 视 图 ; 2) 复 杂 物 化 视 图 ; 3) 只 读 物 化 视 图 不 过 这 三 种 物 化 视 图 可 以 成 为 只 读 物 化 视 图 的 主 物 化 视 图 基 于 物 化 视 图 的 可 更 新 物 化 视 图 的 额 外 限 制 : 1) 所 属 的 物 化 视 图 组 必 须 和 主 物 化 视 图 站 点 上 的 物 化 视 图 组 同 名 ; 2) 必 须 和 主 物 化 视 图 不 在 同 一 个 数 据 库 上 ; 3) 必 须 基 于 可 更 新 物 化 视 图, 不 能 基 于 只 读 物 化 视 图 ; 4) 主 站 点 上 的 主 物 化 视 图 组 必 须 存 在 于 PUBLIC 方 案 中 9. 包 含 用 户 定 义 类 型 的 物 化 视 图 Oracle 的 复 制 支 持 用 户 自 定 义 类 型 数 据 Oracle 不 但 支 持 行 对 象 (row object) 和 列 对 象 (column object) 而 且 还 支 持 collections 的 复 制 Collection 包 括 基 于 用 户 自 定 义 类 型 的 数 组 (VARRAY) 和 嵌 套 表 (nested table) 使 用 用 户 自 定 义 类 型 需 要 注 意 几 点 : 主 站 点 和 物 化 视 图 站 点 的 数 据 库 兼 容 性 等 于 或 高 于 9.0.1; 如 果 主 对 象 包 含 用 户 自 定 义 类 型, 则 不 能 创 建 refresh-on-commit 物 化 视 图 ; 高 级 复 制 不 支 持 对 象 的 继 承 物 化 视 图 复 制 中 对 用 户 自 定 义 类 型 的 要 求 和 限 制 于 多 主 环 境 中 的 限 制 比 较 类 似, 这 里 不 再 详

33 细 描 述, 如 果 对 这 部 分 内 容 感 兴 趣, 请 参 考 Oracle9i Advanced Replication 3-36 Materialized Views with User-Defined Types 10. 主 站 点 的 物 化 视 图 注 册 11. 主 站 点 和 主 物 化 视 图 站 点 机 制 12. 物 化 视 图 站 点 机 制 13. 组 织 机 制 14. 刷 新 处 理 三. 展 开 模 板 (Deployment Templates) 的 概 念 和 构 架 四. 多 主 复 制 和 物 化 视 图 复 制 区 别

34 附 录 一 多 主 体 复 制 站 点 的 配 置 步 骤 以 下 操 作 如 果 不 是 明 确 指 出, 均 在 master 数 据 库 中 运 行 1 检 查 安 装 好 的 数 据 库 是 否 支 持 高 级 复 制 : SQL> select value from v$option where parameter='advanced replication'; VALUE TRUE 确 保 返 回 的 结 果 是 TRUE, 如 果 是 FALSE 则 表 示 需 要 重 新 安 装 oracle 的 高 级 复 制 部 件 2 确 保 数 据 库 的 初 始 化 参 数 中 global_name=true, 同 时 因 为 高 级 复 制 依 靠 于 JOB 来 实 现, 所 以 必 须 保 证 job_queue_processes 参 数 大 于 0, 我 们 可 以 设 置 为 10 确 保 init.ora 中 包 含 一 下 初 始 化 参 数 定 义 : global_names = true open_links = 4 ( 备 注 : 一 个 process 需 要 4 个 link, 如 果 我 们 创 建 了 多 个 dblink, 并 且 同 时 运 行, 那 么 可 以 把 此 参 数 设 大, 比 如 以 下 环 境 中 我 们 应 该 设 置 为 open_links = 8) job_queue_processes = 10 3 用 sysdba 权 限 分 别 登 录 master 和 snap 数 据 库, 检 查 双 方 的 global_name, 必 须 保 证 两 边 的 域 名 相 同 才 可 以 建 立 正 确 的 dblink select * from global_name; 假 设 显 示 结 果 是 master.com, 那 么 表 示 该 数 据 库 的 域 名 是 com 那 么 我 们 可 以 设 置 snap 库 的 global_name 是 snap.com 使 用 以 下 SQL 设 置 global_name: alter database rename global_name to master.com; 4 创 建 一 个 PUBLIC DBLINK 连 接 到 snap( 此 步 骤 可 以 省 略 ) CREATE PUBLIC DATABASE LINK "snap.com" USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS= (PROTOCOL = TCP)(Host = )(Port = 1521)))(CONNECT_DATA = (SID = test1)(server = DEDICATED)))'; 运 行 以 下 SQL 检 查 dblink 创 建 是 否 成 功, 如 果 结 果 返 回 snap 的 global_name 则 表 示 成 功 SQL> select * from global_name@snap.com; GLOBAL_NAME

35 SNAP.COM 5 创 建 repadmin 用 户, 用 于 管 理 高 级 复 制 create user repadmin identified by repadmin default tablespace users temporary tablespace temp; execute dbms_defer_sys.register_propagator('repadmin'); grant execute any procedure to repadmin; execute dbms_repcat_admin.grant_admin_any_repgroup('repadmin'); execute dbms_repcat_admin.grant_admin_any_schema(username => '"REPADMIN"'); grant comment any table to repadmin; grant lock any table to repadmin; grant select any dictionary to repadmin; 6 登 录 snap 数 据 库, 重 复 上 面 的 操 作, 创 建 public dblink 以 及 repadmin 用 户 7 用 repadmin 用 户 登 录 master, 创 建 私 有 数 据 库 连 接 create database link "snap.com" connect to repadmin identified by repadmin; 如 果 第 4 步 省 略 了, 没 有 创 建 公 有 数 据 库 连 接, 则 需 要 如 下 创 建, 在 创 建 含 有 qualifier 的 多 个 数 据 库 连 接 时 也 只 能 使 用 下 面 的 方 法 : create database link "snap.com@perday" connect to repadmin identified by repadmin USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS= (PROTOCOL = TCP)(Host = )(Port = 1521)))(CONNECT_DATA = (SID = test1)(server = DEDICATED)))'; create database link "snap.com@perhour" connect to repadmin identified by repadmin USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS= (PROTOCOL = TCP)(Host = )(Port = 1521)))(CONNECT_DATA = (SID = test1)(server = DEDICATED)))'; 检 查 是 否 创 建 成 功 SQL> select * from global_name@snap.com@perday; GLOBAL_NAME SNAP.COM 8 创 建 主 体 复 制 组, 添 加 复 制 对 象, 操 作 的 数 据 库 将 称 为 主 体 定 义 站 点 创 建 每 天 复 制 一 次 的 组 execute dbms_repcat.create_master_repgroup(gname => 'rep_gp_day',group_comment => 'replcation perday',qualifier => '@PERDAY'); 创 建 每 小 时 复 制 一 次 的 组 execute dbms_repcat.create_master_repgroup(gname => 'rep_gp_hour',group_comment => 'replcation perhour',qualifier => '@PERHOUR'); 备 注 : 以 下 操 作 只 以 rep_gp_day 复 制 组 为 例, 对 于 rep_gp_hour 复 制 组 则 应 该 作 相 应 更 改

Oracle高级复制冲突解决机制的研究

Oracle高级复制冲突解决机制的研究 Oracle dbms_rectifier_diff Oracle : eygle (eygle.com@gmail.com dbms_rectifier_diff Oracle dbms_rectifier_diff : http://www.eygle.com/archives/2005/01/eoadbms_rectifi.html DIFFERENCES Oracle dbms_rectifier_diff.differences

More information

Oracle高级复制配置手册_业务广告_.doc

Oracle高级复制配置手册_业务广告_.doc Oracle 高 级 复 制 配 置 手 册 作 者 : 铁 钉 Q Q: 5979404 MSN: nail.cn@msn.com Mail: nail.cn@msn.com Blog: http://nails.blog.51cto.com Materialized View Replication 复 制 模 式 实 现 了 单 主 机 对 多 个 复 制 站 点 的 数 据 同 步. 在 主

More information

ebook 96-16

ebook 96-16 16 13 / ( ) 16-1 SQL*Net/Net8 SQL*Net/Net8 SQL*Net/Net8 16-1 / S Q L SQL*Net V2 N e t 8 S Q L * N e t N e t ( ) 16.1 S Q L O r a c l e S Q L 16 401 ) ( H R _ L I N K create database link p u b l i c (

More information

untitled

untitled ArcSDE ESRI ( ) High availability Backup & recovery Clustering Replication Mirroring Standby servers ArcSDE % 95% 99.9% 99.99% 99.999% 99.9999% 18.25 / 8.7 / 52.5 / 5.25 / 31.8 / Spatial Geodatabase

More information

回滚段探究

回滚段探究 oracle oracle internal DBA oracle document oracle concepts oracle document oracle DBWR update t set object_id = '0' where object_id = '12344'; 1 row updated. commit; Commit complete. 0 12344 12344 0 10%

More information

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘 ITE 資 訊 專 業 人 員 鑑 定 資 料 庫 系 統 開 發 與 設 計 實 務 試 卷 編 號 :IDS101 注 意 事 項 一 本 測 驗 為 單 面 印 刷 試 題, 共 計 十 三 頁 第 二 至 十 三 頁 為 四 十 道 學 科 試 題, 測 驗 時 間 90 分 鐘 : 每 題 2.5 分, 總 測 驗 時 間 為 90 分 鐘 二 執 行 CSF 測 驗 系 統 -Client

More information

PowerPoint Presentation

PowerPoint Presentation 数 据 库 培 训 项 目 研 究 Oracle 索 引 探 究 B*tree 索 引 与 位 图 索 引 的 特 点 作 者 : 赵 超 2008 年 12 月 18 日 实 验 环 境 Windows-server2003 内 存 :2G Oracle 10.2.0 ORACLE_SID=orcl 索 引 类 型 B*tree 索 引 ( 默 认 方 式 ) 位 图 索 引 (bitmap) 反

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

ebook10-5

ebook10-5 Oracle 7.x RDBMS 5 Oracle S Y S S Y S T E M O r a c l e 5.1 O r a c l e R D B M S O r a c l e O r a c l e 5.2 SYS SYSTEM S Y S S Y S T E M O r a c l e S Y S V $ D B A C O N N E C T R E S O U R C E S Y

More information

Oracle Database 10g: SQL (OCE) 的第一堂課

Oracle Database 10g: SQL (OCE) 的第一堂課 商 用 資 料 庫 的 第 一 堂 課 中 華 大 學 資 訊 管 理 系 助 理 教 授 李 之 中 http://www.chu.edu.tw/~leecc 甲 骨 文 俱 樂 部 @Taiwan Facebook 社 團 https://www.facebook.com/groups/365923576787041/ 2014/09/15 問 題 一 大 三 了, 你 為 什 麼 還 在 這

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

目錄 C ontents Chapter MTA Chapter Chapter

目錄 C ontents Chapter MTA Chapter Chapter 目錄 C ontents Chapter 01 1-1 MTA...1-2 1-2...1-3 1-3...1-5 1-4...1-10 Chapter 02 2-1...2-2 2-2...2-3 2-3...2-7 2-4...2-11...2-16 Chapter 03 3-1...3-2 3-2...3-8 3-3 views...3-16 3-4...3-24...3-33 Chapter

More information

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2 CHAPTER 1 Understanding Core Database Concepts 1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2 1 Understanding Core Database Concepts

More information

11.2 overview

11.2 overview 1 < 在 此 处 插 入 图 片 > Explain Plan 命 令 说 明 Maria Colgan 免 责 声 明 本 讲 座 旨 在 为 您 提 供 有 关 如 何 阅 读 SQL 执 行 计 划 的 说 明, 并 帮 助 您 确 定 该 计 划 是 否 满 足 您 的 要 求 本 讲 座 并 不 能 使 您 一 举 成 为 优 化 器 专 家, 也 无 法 使 您 具 备 轻 松 调 整

More information

untitled

untitled OO 1 SQL Server 2000 2 SQL Server 2000 3 SQL Server 2000 DDL 1 2 3 DML 1 INSERT 2 DELETE 3 UPDATE SELECT DCL 1 SQL Server 2 3 GRANT REVOKE 1 2 1 2 3 4 5 6 1 SQL Server 2000 SQL Server SQL / Microsoft SQL

More information

untitled

untitled Database System Principle Database System Principle 1 SQL 3.1 SQL 3.2-3.3 3.4 3.5 3.6 Database System Principle 2 3.1 SQL SQL Structured Query Language SQL Database System Principle 3 SQL 3.1.1 SQL 3.1.2

More information

untitled

untitled Chapter 01 1.0... 1-2 1.1... 1-2 1.1.1...1-2 1.1.2...1-4 1.1.2.1... 1-6 1.1.2.2... 1-7 1.1.2.3... 1-7 1.1.2.4... 1-7 1.1.2.5... 1-8 1.1.2.6... 1-8 1.1.3??...1-8 1.1.4...1-9 1.2...1-12 1.3...1-14 1.4...1-17

More information

一步一步教你搞网站同步镜像!|动易Cms

一步一步教你搞网站同步镜像!|动易Cms 一 步 一 步 教 你 搞 网 站 同 步 镜 像! 动 易 Cms 前 几 天 看 见 论 坛 里 有 位 朋 友 问 一 个 关 于 镜 像 的 问 题, 今 天 刚 好 搞 到 了 一 个, 于 是 拿 出 来 和 大 家 一 起 分 享 了! 1. 介 绍 现 在 的 网 站 随 着 访 问 量 的 增 加, 单 一 服 务 器 无 法 承 担 巨 大 的 访 问 量, 有 没 有 什 么

More information

SQL Server SQL Server SQL Mail Windows NT

SQL Server SQL Server SQL Mail Windows NT ... 3 11 SQL Server... 4 11.1... 7 11.2... 9 11.3... 11 11.4... 30 11.5 SQL Server... 30 11.6... 31 11.7... 32 12 SQL Mail... 33 12.1Windows NT... 33 12.2SQL Mail... 34 12.3SQL Mail... 34 12.4 Microsoft

More information

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护 数 据 库 系 统 基 础 1/54 数 据 库 系 统 基 础 哈 尔 滨 工 业 大 学 2011.~2012. 数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护 数 据 库 系 统 基 础 3/54 第 6 章 数 据 库 管 理 与 维 护 6.1 数 据 库 管 理 员 的 基 本 职 责 6.2 数 据 库 存 储 与 性 能 管 理 6.3 数 据 库

More information

未命名

未命名 附录三 ADS- MySQL 基础语法偏表 类别语法偏类 MySQL 语法 ADS 语法备注 型 Utility DESCRIBE {DESCRIBE DESC} tbl_name [col_name wild] {DESCRIBE DESC} dbname.tbl_name EXPLAIN 负偏 {EXPLAIN} [explain_type] explainable_stmt {EXPLAIN}

More information

目錄

目錄 資 訊 素 養 線 上 教 材 單 元 五 資 料 庫 概 論 及 Access 5.1 資 料 庫 概 論 5.1.1 為 什 麼 需 要 資 料 庫? 日 常 生 活 裡 我 們 常 常 需 要 記 錄 一 些 事 物, 以 便 有 朝 一 日 所 記 錄 的 事 物 能 夠 派 得 上 用 場 我 們 能 藉 由 記 錄 每 天 的 生 活 開 銷, 就 可 以 在 每 個 月 的 月 底 知

More information

System Global Area, Oracle Background process Oracle, Server Process user process, user process : SQL*PLUS SYSTEM SQL> select name from v$datafile; NA

System Global Area, Oracle Background process Oracle, Server Process user process, user process : SQL*PLUS SYSTEM SQL> select name from v$datafile; NA ORACLE By Chao_Ping and Parrotao 1 Oracle9i, SGA 2 Oracle9i 3, 4, Oracle? Oracle??? Oracle 1 Overview Oracle, Datafile, Background process, System Global Area, Server Process User Process System Global

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-814 Title : Sun Certified MySQL Associate Version : Demo 1 / 12 1.Adam works as a Database Administrator for a company. He creates a table

More information

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建 2 第 二 讲 创 建 和 管 理 表 与 简 单 记 录 操 作 Copyright SWFC-CISC, 2013. All rights reserved. 教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表

More information

习题1

习题1 习 题 1 数 据 库 系 统 基 本 概 念 1.1 名 词 解 释 DB DB 是 长 期 存 储 在 计 算 机 内 有 组 织 的 统 一 管 理 的 相 关 数 据 的 集 合 DB 能 为 各 种 用 户 共 享, 具 有 较 小 冗 余 度 数 据 间 联 系 紧 密 而 又 有 较 高 的 数 据 独 立 性 等 特 点 DBMS 是 位 于 用 户 与 操 作 系 统 之 间 的

More information

支付宝2011年 IT资产与费用预算

支付宝2011年 IT资产与费用预算 OceanBase 支 持 ACID 的 可 扩 展 关 系 数 据 库 qushan@alipay.com 2013 年 04 月 关 系 数 据 库 发 展 1970-72:E.F.Codd 数 据 库 关 系 模 式 20 世 纨 80 年 代 第 一 个 商 业 数 据 库 Oracle V2 SQL 成 为 数 据 库 行 业 标 准 可 扩 展 性 Mainframe: 小 型 机 =>

More information

基于UML建模的管理管理信息系统项目案例导航——VB篇

基于UML建模的管理管理信息系统项目案例导航——VB篇 PowerBuilder 8.0 PowerBuilder 8.0 12 PowerBuilder 8.0 PowerScript PowerBuilder CIP PowerBuilder 8.0 /. 2004 21 ISBN 7-03-014600-X.P.. -,PowerBuilder 8.0 - -.TP311.56 CIP 2004 117494 / / 16 100717 http://www.sciencep.com

More information

ebook46-23

ebook46-23 23 Access 2000 S Q L A c c e s s S Q L S Q L S Q L S E L E C T S Q L S Q L A c c e s s S Q L S Q L I N A N S I Jet SQL S Q L S Q L 23.1 Access 2000 SQL S Q L A c c e s s Jet SQL S Q L U N I O N V B A S

More information

ebook 165-5

ebook 165-5 3 5 6 7 8 9 [ 3. 3 ] 3. 3 S Q L S Q 4. 21 S Q L S Q L 4 S Q 5 5.1 3 ( ) 78 5-1 3-8 - r e l a t i o n t u p l e c a r d i n a l i t y a t t r i b u t e d e g r e e d o m a i n primary key 5-1 3 5-1 S #

More information

季刊9web.indd

季刊9web.indd 在 全 国 现 场 会 上 成 功 展 示 全 国 烟 叶 收 购 暨 现 代 烟 草 农 业 建 设 现 场 会 7 月 6 日 至 8 日 在 昆 明 召 开 在 国 家 局 的 领 导 下, 由 我 司 技 术 开 发 的 烟 站 ( 单 元 ) 烟 叶 管 理 信 息 系 统 在 现 场 会 上 成 功 展 示, 并 得 到 参 会 领 导 及 代 表 们 的 关 注 与 认 可 该 系 统

More information

目錄... ivv...vii Chapter DETECT

目錄... ivv...vii Chapter DETECT ... ivv...vii Chapter 1 1.1... 5 1.2... 6 1.3 DETECT... 11 1.3.1... 12 1.3.1.1...12 1.3.1.2...13 1.3.1.3...14 1.3.1.4...15 1.3.1.5...15 1.3.1.6...16 1.3.2 DETECT... 17 1.3.3... 19 1.3.4... 20... 22 Chapter

More information

Microsoft PowerPoint - 05-SQL3-advanced.ppt

Microsoft PowerPoint - 05-SQL3-advanced.ppt SQL: Interactive Queries (2) Prof. Weining Zhang Cs.utsa.edu Aggregate Functions Functions that take a set of tuples and compute an aggregated value. Five standard functions: count, min, max, avg, sum

More information

SQL: Interactive Queries (2)

SQL: Interactive Queries (2) SQL: Interactive Queries (2) Prof. Weining Zhang Cs.utsa.edu Aggregate Functions Functions that take a set of tuples and compute an aggregated value. Five standard functions: count, min, max, avg, sum

More information

使用SQL Developer

使用SQL Developer 使 用 SQL Developer 达 成 的 目 标 / 方 案 1 创 建 一 个 新 的 数 据 库 连 接 ; 2 在 SQL Developer 中 查 看 数 据 库 对 象 的 信 息 修 改 数 据 ; 3 在 SQL Developer 中 创 建 表 ; 4 在 SQL Developer 中 创 建 索 引 ; 5 在 SQL Developer 中 创 建 函 数 ; 6 在

More information

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内 A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内 容 分 发 网 络 Alibaba Cloud Content Delivery Network 一

More information

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更 AX5000 Version 1.0 2006 年 9 錄...1 說...2 說...3...4 說...5 六...6 6.1 率...7 6.2 POST PAY...8 6.3 PREPAY DEPOSIT...9 6.4...10 6.5...11 更...12...12 LCD IC LED Flash 更 兩 RJ11 ( ) DC ON OFF ON 狀 狀 更 OFF 復 狀 說

More information

ebook 132-2

ebook 132-2 2 SQL Server 7.0 SQL Server SQL Server 7 SQL Server 7 5 2.1 SQL Server 7 SQL Server 7 SQL Server SQL Server SQL Server 2.1.1 SQL Server Windows NT/2000 Windows 95/98 ( r a n d o m access memory R A M )

More information

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w 1 1.1 D B M S To w e r C D 1. 1 968 I B M I M S 2 0 70 Cullinet Software I D M S I M S C O D A S Y L 1971 I D M S containing hierarchy I M S I D M S I M S I B M I M S I D M S 2 2. 18 R D B M S O R D B

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

三. 发现表被删除, 开始着手解决 1. 该表所在表空间离线 ( 确保删除表所在位置不会被重写 ) SQL> alter tablespace raw_odu offline; Tablespace altered. 2. 通过 logmnr, 找出被删除的数据 data _object _id 1

三. 发现表被删除, 开始着手解决 1. 该表所在表空间离线 ( 确保删除表所在位置不会被重写 ) SQL> alter tablespace raw_odu offline; Tablespace altered. 2. 通过 logmnr, 找出被删除的数据 data _object _id 1 使用 odu 恢复被 drop 表过程 一. 数据库版本 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production PL/SQL Release

More information

Oracle Reports培训教程20.doc

Oracle Reports培训教程20.doc HAND : : 2000 11 28 : 2000 11 28 : MD060 : 1 : 1 2 MD060 2000/02/2 1 1 1 1 ii MD060...ii...4...4...4...4...4...4...4...4 Date Model...4...4...4...4...4...4...4...4 Layout...4...4...4...4...4...4 Parameter

More information

untitled

untitled http://idc.hust.edu.cn/~rxli/ 1.1 1.2 1.3 1.4 1.5 1.6 2 1.1 1.1.1 1.1.2 1.1.3 3 1.1.1 Data (0005794, 601,, 1, 1948.03.26, 01) (,,,,,) 4 1.1.1 Database DB 5 1.1.1 (DBMS) DDL ( Create, Drop, Alter) DML(

More information

软件测试(TA07)第一学期考试

软件测试(TA07)第一学期考试 一 判 断 题 ( 每 题 1 分, 正 确 的, 错 误 的,20 道 ) 1. 软 件 测 试 按 照 测 试 过 程 分 类 为 黑 盒 白 盒 测 试 ( ) 2. 在 设 计 测 试 用 例 时, 应 包 括 合 理 的 输 入 条 件 和 不 合 理 的 输 入 条 件 ( ) 3. 集 成 测 试 计 划 在 需 求 分 析 阶 段 末 提 交 ( ) 4. 单 元 测 试 属 于 动

More information

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673 Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1 - Contents MicroSCADA Pro Portal Marketing and sales Ordering MicroSCADA Pro Partners Club 2005 ABB - 2 - MicroSCADA Pro - Portal Imagine that

More information

Microsoft Word - 序+目錄.doc

Microsoft Word - 序+目錄.doc ORACLE 公 司 的 專 業 認 證 是 當 今 市 場 上 公 認 價 值 最 高, 最 具 鑑 別 力 的 認 證 目 前 全 球 有 超 過 50 萬 以 上 人 已 透 過 Oracle Certification Program 取 得 專 業 認 證, 成 為 職 場 新 鮮 人 的 首 選 認 證, 它 具 有 以 下 三 大 優 勢 : 一 更 多 的 工 作 機 會, 二 更

More information

oracle-Ess-05.pdf

oracle-Ess-05.pdf 5 135 1 3 6 O r a c l e 1 3 7 1 3 8 O r a c l e 1 3 9 C O N N E C T R E S O U R C E D B A S Y S O P E R S Y S D B A E X P _ F U L L _ D A T A B A S E 1 4 0 I M P _ F U L L _ D A T A B A S E D E L E T E

More information

ebook140-9

ebook140-9 9 VPN VPN Novell BorderManager Windows NT PPTP V P N L A V P N V N P I n t e r n e t V P N 9.1 V P N Windows 98 Windows PPTP VPN Novell BorderManager T M I P s e c Wi n d o w s I n t e r n e t I S P I

More information

P4i45GL_GV-R50-CN.p65

P4i45GL_GV-R50-CN.p65 1 Main Advanced Security Power Boot Exit System Date System Time Floppy Drives IDE Devices BIOS Version Processor Type Processor Speed Cache Size Microcode Update Total Memory DDR1 DDR2 Dec 18 2003 Thu

More information

SA-DK2-U3Rユーザーズマニュアル

SA-DK2-U3Rユーザーズマニュアル USB3.0 SA-DK2-U3R 2007.0 2 3 4 5 6 7 8 System Info. Manual Rebuild Delete RAID RAID Alarm Rebuild Rate Auto compare Temp Management Load Default Elapse time Event Log 0 2 3 4 2 3 4 ESC 5

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的 4.2 使 用 Table Service Table Service 相 对 来 说 是 三 个 Storage Service 中 最 好 理 解 和 最 易 于 接 受 的, 它 主 要 用 来 存 储 结 构 化 数 据 但 是 Table Service 却 并 不 是 一 个 关 系 型 数 据 库 Table Service 由 两 个 部 分 组 成 :Table 和 Entity

More information

RUN_PC連載_8_.doc

RUN_PC連載_8_.doc PowerBuilder 8 (8) Web DataWindow ( ) DataWindow Web DataWindow Web DataWindow Web DataWindow PowerDynamo Web DataWindow / Web DataWindow Web DataWindow Wizard Web DataWindow Web DataWindow DataWindow

More information

( Version 0.4 ) 1

( Version 0.4 ) 1 ( Version 0.4 ) 1 3 3.... 3 3 5.... 9 10 12 Entities-Relationship Model. 13 14 15.. 17 2 ( ) version 0.3 Int TextVarchar byte byte byte 3 Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

Microsoft Word - SupplyIT manual 3_cn_david.doc

Microsoft Word - SupplyIT manual 3_cn_david.doc MR PRICE Supply IT Lynette Rajiah 1 3 2 4 3 5 4 7 4.1 8 4.2 8 4.3 8 5 9 6 10 6.1 16 6.2 17 6.3 18 7 21 7.1 24 7.2 25 7.3 26 7.4 27 7.5 28 7.6 29 7.7 30 7.8 31 7.9 32 7.10 32 7.11 33 7.12 34 1 7.13 35 7.14

More information

untitled

untitled -JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP

More information

第4单元 创建数据类型和表

第4单元  创建数据类型和表 138 MCSE 2000 SQL 2000 8.1 Stored Procedures Microsoft SQL Server 2000 ( ) 8.1.1 Transact-SQL SQL Server (System Stored Procedures,sp_), master ( sp_prefix ) (Local Stored Procedures), (Temporary Stored

More information

123

123 資 訊 管 理 系 資 料 庫 教 學 帄 台 MTA 資 料 庫 國 際 證 照 題 庫 分 析 指 導 教 授 : 馮 曼 琳 教 授 組 員 名 單 : 陳 雅 紋 學 號 998C030 蔡 宥 為 學 號 998C114 陳 韋 婷 學 號 998C168 中 華 民 國 一 零 三 年 五 月 I 誌 謝 本 專 題 報 告 得 以 順 利 完 成, 首 先 要 感 謝 恩 師 馮 曼

More information

01 SQL Server SQL Server 2008 SQL Server 6-1 SSIS SQL Server ( master ) ( msdb ) SQL Server ( master ) master 6-1 DTS sysadmin 6-1 sysa

01 SQL Server SQL Server 2008 SQL Server 6-1 SSIS SQL Server ( master ) ( msdb ) SQL Server ( master ) master 6-1 DTS sysadmin 6-1 sysa 6 01 SQL Server SQL Server 2008 SQL Server 6-1 SSIS 6-1 06 228 6-1 SQL Server ( master ) ( msdb ) SQL Server ( master ) master 6-1 DTS sysadmin 6-1 sysadmin 6-1 SQL Server 2008 SSIS SQL Server (dbo) master

More information

Business Objects 5.1 Windows BusinessObjects 1

Business Objects 5.1 Windows BusinessObjects 1 Business Objects 5.1 Windows BusinessObjects 1 BusinessObjects 2 BusinessObjects BusinessObjects BusinessObjects Windows95/98/NT BusinessObjects Windows BusinessObjects BusinessObjects BusinessObjects

More information

Junos Pulse Mobile Security R1 2012, Juniper Networks, Inc.

Junos Pulse Mobile Security R1 2012, Juniper Networks, Inc. Junos Pulse Mobile Security 4.0 2012 6 R1 2012, Juniper Networks, Inc. Junos Pulse Mobile Security Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, California 94089 408-745-2000 www.juniper.net

More information

epub 61-2

epub 61-2 2 Web Dreamweaver UltraDev Dreamweaver 3 We b We b We Dreamweaver UltraDev We b Dreamweaver UltraDev We b We b 2.1 Web We b We b D r e a m w e a v e r J a v a S c r i p t We b We b 2.1.1 Web We b C C +

More information

CDWA Mapping. 22 Dublin Core Mapping

CDWA Mapping. 22 Dublin Core Mapping (version 0.23) 1 3... 3 3 3 5 7 10 22 CDWA Mapping. 22 Dublin Core Mapping. 24 26 28 30 33 2 3 X version 0.2 ( ) 4 Int VarcharText byte byte byte Id Int 10 Management Main Code Varchar 30 Code Original

More information

RunPC2_.doc

RunPC2_.doc PowerBuilder 8 (5) PowerBuilder Client/Server Jaguar Server Jaguar Server Connection Cache Thin Client Internet Connection Pooling EAServer Connection Cache Connection Cache Connection Cache Connection

More information

IBM Rational ClearQuest Client for Eclipse 1/ IBM Rational ClearQuest Client for Ecl

IBM Rational ClearQuest Client for Eclipse   1/ IBM Rational ClearQuest Client for Ecl 1/39 Balaji Krish,, IBM Nam LeIBM 2005 4 15 IBM Rational ClearQuest ClearQuest Eclipse Rational ClearQuest / Eclipse Clien Rational ClearQuest Rational ClearQuest Windows Web Rational ClearQuest Client

More information

Windows 2000/2003/xp (FRS) SYSVOL Domain Policies Scripts Staging Domain staging areas Domain name staging areas Domain name Policies Scripts AD 1.2 A

Windows 2000/2003/xp (FRS) SYSVOL Domain Policies Scripts Staging Domain staging areas Domain name staging areas Domain name Policies Scripts AD 1.2 A AD 1 AD AD AD 1.1 AD AD ----AD SYSVOL 1 AD Ntds.dit Edbxxxxx.log Edb.chk Res1.log Res2.log Ntds.dit (10 MB) Edb.log Edb.log Edb.log Edbxxxxx.log 00001 Active Directory edb.log Edbxxxxx.log Res1.log Res2.log

More information

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM Oracle Solaris Studio 12.2 DLight 2010 9 2 2 3 DLight 3 3 6 13 CPU 16 18 21 I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AMP Apache MySQL

More information

自动化接口

自动化接口 基 于 文 件 的 数 据 交 换 的 注 意 事 项 1 SPI 2 COMOS Automation 操 作 手 册 通 用 Excel 导 入 3 通 过 OPC 客 户 端 的 过 程 可 视 化 4 SIMIT 5 GSD 6 05/2016 V 10.2 A5E37093378-AA 法 律 资 讯 警 告 提 示 系 统 为 了 您 的 人 身 安 全 以 及 避 免 财 产 损 失,

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005 1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005 1 1...3 2...20 3...28 4...41 5 Windows SQL Server...47 Microsoft SQL Server 2005 DBSRV1 Microsoft SQL Server

More information

Microsoft Word - MTK平台生产软件使用说明.doc

Microsoft Word - MTK平台生产软件使用说明.doc MTK 1. 1.1 SMT BSN 1.2 1 IMEI 2. 2 2.1 MTK Flash Flash NAND FlashMP3 1 SMT SOFT Flash 2 SOFT MKT USB-RS232 921600 8 2.2 COPY 2.3 USB PCUSB USB 8 USB USB USB-RS232 (USB ) RS232 PCRS232 8 4V2A 2.4 DA File

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Hadoop 生 态 技 术 在 阿 里 全 网 商 品 搜 索 实 战 阿 里 巴 巴 - 王 峰 自 我 介 绍 真 名 : 王 峰 淘 宝 花 名 : 莫 问 微 博 : 淘 莫 问 2006 年 硕 士 毕 业 后 加 入 阿 里 巴 巴 集 团 淘 及 搜 索 事 业 部 ( 高 级 技 术 与 家 ) 目 前 负 责 搜 索 离 线 系 统 团 队 技 术 方 向 : 分 布 式 计 算

More information

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S 9 DB2 优化器 DB2 SQL select c1 c2 from ( DB2 )??? DB2?!?, no no DB2 I/O ( transrate overhead ) SQL DML (INSERT UPDATE DELETE) DB2 (access plan) DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( 728 747 ) SQL

More information

untitled

untitled 2006 6 Geoframe Geoframe 4.0.3 Geoframe 1.2 1 Project Manager Project Management Create a new project Create a new project ( ) OK storage setting OK (Create charisma project extension) NO OK 2 Edit project

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 000-544 Title : DB2 9.7 Advanced DBA for LUW Version : DEMO 1 / 10 1. A DBA needs to create a federated database and configure access to join

More information

AL-MX200 Series

AL-MX200 Series PostScript Level3 Compatible NPD4760-00 TC Seiko Epson Corporation Seiko Epson Corporation ( ) Seiko Epson Corporation Seiko Epson Corporation Epson Seiko Epson Corporation Apple Bonjour ColorSync Macintosh

More information

PROFIBUS3.doc

PROFIBUS3.doc PLC PLC ProfiBus 3. PROFIBUS-DP PROFIBUS-DP PROFIBUS-DP PROFIBUS S7 STEP7 SIMATIC NET S5 COM PROFIBUS COM5431 PROFIBUS-DP GSD GSD *.GSD *. GSE GSD S7 STEP7 PROFIBUS DP S7-400 CPU416-2DP S7-200 PROFIBUS

More information

RAQMON Context Setting MG PDA Applications RTP / FTP/ HTTP TCP/UDP S ignaling control plane (e.g. RS VP, NS IS) Streaming Media, Transaction, Bulk dat

RAQMON Context Setting MG PDA Applications RTP / FTP/ HTTP TCP/UDP S ignaling control plane (e.g. RS VP, NS IS) Streaming Media, Transaction, Bulk dat Realtime Application QOS Monitoring (RAQMON) Dan Romascanu dromasca@avaya.com 1 RAQMON Context Setting MG PDA Applications RTP / FTP/ HTTP TCP/UDP S ignaling control plane (e.g. RS VP, NS IS) Streaming

More information

10

10 10 08 10 Periodical Report 1 4 8 1 1 4 8 Batch Job Index DBA Index SQL WHERE Execution Plan SQL 4 8 SQL 10.3 10.4 SQL 318 08 5 SQL SQL Server Oracle 20--03 16:30:52 2003163052 Orders_Big SQL T-SQL 20-01-01

More information

f2.eps

f2.eps 前 言, 目 录 产 品 概 况 1 SICAM PAS SICAM 电 力 自 动 化 系 统 配 置 和 使 用 说 明 配 置 2 操 作 3 实 时 数 据 4 人 机 界 面 5 SINAUT LSA 转 换 器 6 状 态 与 控 制 信 息 A 版 本 号 : 08.03.05 附 录, 索 引 安 全 标 识 由 于 对 设 备 的 特 殊 操 作 往 往 需 要 一 些 特 殊 的

More information

Basic System Administration

Basic System Administration 基 本 系 统 管 理 ESX Server 3.5 ESX Server 3i 版 本 3.5 Virtual Center 2.5 基 本 管 理 指 南 基 本 管 理 指 南 修 订 时 间 :20080410 项 目 :VI-CHS-Q208-490 我 们 的 网 站 提 供 最 新 的 技 术 文 档, 网 址 为 : http://www.vmware.com/cn/support/

More information

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Terminal Mode No User User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Mon1 Cam-- Mon- Cam-- Prohibited M04 Mon1 Cam03 Mon1 Cam03

More information

ebook140-11

ebook140-11 11 VPN Windows NT4 B o r d e r M a n a g e r VPN VPN V P N V P N V P V P N V P N TCP/IP 11.1 V P N V P N / ( ) 11.1.1 11 V P N 285 2 3 1. L A N LAN V P N 10MB 100MB L A N VPN V P N V P N Microsoft PPTP

More information

ch_code_infoaccess

ch_code_infoaccess 地 產 代 理 監 管 局 公 開 資 料 守 則 2014 年 5 月 目 錄 引 言 第 1 部 段 數 適 用 範 圍 1.1-1.2 監 管 局 部 門 1.1 紀 律 研 訊 1.2 提 供 資 料 1.3-1.6 按 慣 例 公 布 或 供 查 閱 的 資 料 1.3-1.4 應 要 求 提 供 的 資 料 1.5 法 定 義 務 及 限 制 1.6 程 序 1.7-1.19 公 開 資

More information

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco Windows RTEMS 1 Danilliu MMI TCP/IP 80486 QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos ecos Email www.rtems.com RTEMS ecos RTEMS RTEMS Windows

More information

OOAD PowerDesigner OOAD Applying PowerDesigner CASE Tool in OOAD PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE To

OOAD PowerDesigner OOAD Applying PowerDesigner CASE Tool in OOAD PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE To PowerDesigner Applying PowerDesigner CASE Tool in OOAD albertchung@mpinfo.com.tw PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE Tool PowerDesigner CASE Tool CASE Tool PowerDesignerUnified ProcessUMLing

More information

IP505SM_manual_cn.doc

IP505SM_manual_cn.doc IP505SM 1 Introduction 1...4...4...4...5 LAN...5...5...6...6...7 LED...7...7 2...9...9...9 3...11...11...12...12...12...14...18 LAN...19 DHCP...20...21 4 PC...22...22 Windows...22 TCP/IP -...22 TCP/IP

More information

Go构建日请求千亿微服务最佳实践的副本

Go构建日请求千亿微服务最佳实践的副本 Go 构建 请求千亿级微服务实践 项超 100+ 700 万 3000 亿 Goroutine & Channel Goroutine Channel Goroutine func gen() chan int { out := make(chan int) go func(){ for i:=0; i

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

入學考試網上報名指南

入學考試網上報名指南 入 學 考 試 網 上 報 名 指 南 On-line Application Guide for Admission Examination 16/01/2015 University of Macau Table of Contents Table of Contents... 1 A. 新 申 請 網 上 登 記 帳 戶 /Register for New Account... 2 B. 填

More information

「人名權威檔」資料庫欄位建置表

「人名權威檔」資料庫欄位建置表 ( version 0.2) 1 3 3 3 3 5 6 9.... 11 Entities - Relationship Model..... 12 13 14 16 2 ( ) Int Varchar Text byte byte byte Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate Type Varchar 10

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active

More information

DR2010.doc

DR2010.doc DR/2010 HACH 11-8-96-2 HACH. DR/2010, / UL E79852 CSA C22.223 LR 58275 VDE GS 1015-92 FCC"A" 15 : AMADOR CORP, HACH. EN50 011/CISPR 11 "B" (EMI)/89/336/EEC/EMC: AMADOR CORP, HACH.. EN50 082-1( )/89/226/EEC

More information

Value Chain ~ (E-Business RD / Pre-Sales / Consultant) APS, Advanc

Value Chain ~ (E-Business RD / Pre-Sales / Consultant) APS, Advanc Key @ Value Chain fanchihmin@yahoo.com.tw 1 Key@ValueChain 1994.6 1996.6 2000.6 2000.10 ~ 2004.10 (E- RD / Pre-Sales / Consultant) APS, Advanced Planning & Scheduling CDP, Collaborative Demand Planning

More information

Microsoft Word - ORA-04031.doc

Microsoft Word - ORA-04031.doc 如 何 解 决 ORA-04031 错 误 翻 译 :Fenng 文 章 内 容 1. 和 共 享 池 (shared pool) 相 关 的 实 例 参 数 2. 诊 断 ORA-04031 错 误 3. 解 决 ORA-04031 错 误 已 知 的 Oracle BUG 共 享 池 碎 片 o V$SQLAREA 视 图 o X$KSMLRU 视 图 小 的 共 享 池 尺 寸 o 库 高 速

More information

ebook 132-6

ebook 132-6 6 SQL Server Windows NT Windows 2000 6.1 Enterprise Manager SQL Server Enterprise Manager( ) (Microsoft Management C o n s o l e M M C ) Enterprise Manager SQL Server Enterprise Manager 6.1.1 Enterprise

More information