当前位置:文档之家› Oracle高级复制技术及其实现

Oracle高级复制技术及其实现


9


些又是不可更新的。
(!) 主站点 所 有 权: 异步复制数据被一个单一节点 “所 有” , 这些要复制的数 据 仅 能 被 该 节 点 更 新, 其他节点向拥有 该数据的主节点订阅 数 据, 这意味着他们在本地系统上只能 够存取这些复制数据的只读拷贝。 ( %) 动态所有权: 异步更新将复制 数 据 从 一 个 节 点 移 到 另 一个节点, 而在该过程中, 必须保证在同一 时 刻 只 有 一 个 特 定 的节点可以对数据进行更新。 (0) 共享所有 权: 整 个 系 统 可 以 存 在 暂 时 的 不 一 致, 同时 必须使用冲突检测和消除。 (&) 备用 数 据 库 ( N,C.$*D/+) : 异步复制通过将一个主系统 数据复制到另一系统, 可以起到对主系统的崩溃提供保护的 作用, 这也就是 所 说 的 N,C.$*D/+ 系 统, 如 果 主 系 统 出 现 问 题, 业务依旧可以通过复制数据库进行。
可支持基于部 分 表 的 复 制。 这 两 种 复 制 方 案 主 要 是 通过 *+,-./ 的两种复制机制来完成的, 即 多主复 制和 可更新快照复制, 同时还可以将这两种复制机制结合
收稿日期: %""#$"’件学院助教, 硕士研究生, 研究方向: 分布式数据库。
目前, 由于对 分 布 式 数 据 环 境 需 求 的 不 断 增 长, 越来越 多 的 应 用 提 出 了 数 据 复 制 的 需 求。 *+,-./ 数 据复制是实现分布式数据环境的一种技术, 通过在 不 同的物理站点拷贝数据来建立分 布 式 数据 环 境。 *+$ 也 称 为 对 称 复 制, 第 一 次 是 在 *+,-./ ,-./ 高 级 复 制, 在这 之前的 版 本中, ’ L ! L # 版本中出现的, *+,-./ 数 据 复制方法 仅 有 一 种 只 读 快 照 形 式 的 基 本 复 制 方 法。 随着 *+,-./ 版本的 每 一 次 升 级, 数 据 复 制 的 功 能、 管 理以及速度等 方 面 都 得 到 了 很 大 的 改 进 和 完 善。 本 文具体介绍 *+,-./ 高级复制技术及其具体实现方法。
!
复制技术的实现
下面主要介 绍 一 个 3%,*-# 快 照 复 制 的 具 体 实 现
及其技术细节。 ! 7 业务需求描述。
为了维护整个系统 基 本 数 据 表 的 一 致 性, 比如有这样的 而在其他位 业务需求, 对 /89:; 上 的 一 些 表 采 用 统 一 维 护, 置 (如数据库 <=>?, 用户 @A;0) 可 以 直 接 使 用 这 些 表, 也就是 删除和更 新 的 能 力, 而在其他地方 说在位置 ! 具有对表插入、 具有同步查询能力。
:
2%$&-" 数据复制应用模型
为确保实际应用数据的一致性, 必须在异步复 制
;
2%$&-" 高级复制配置
*+,-./ 高级 复 制 即 可 支 持 基 于 整 个 表 的 复 制 也
应用模型中考虑冲 突 避 免 或 者 冲 突 检 测 和 消 除 的 方 法。例如, 对于一 个 实 际 商 业 应 用, 首先必须在逻辑 上了解该商业应用 采 取 的 冲 突 避 免 方 法 和 在 某 个 节 点有哪些数据以及这些数据中哪些是可更新的, 而哪
5 7 技术实现细节。
(!)在数据库 2 ( <=>?) 上增加数据库 ! ( /89:;) 的 .#%JK*#. 可以直接在 (L.L,&#. 7 ’%, 文件中 增 加 数 据 库 ! 的 .#%JK*#. L,&#, 包括 M0 地 址, L,&#, @M9 以 及 端 口 号 等。 .#%JK*#. L,&# 命 名 为 %#) 7 N’%-"。 (2) 创建 一 个 用 于 连 接 数 据 库 ! ( /89:; ) 的数据库连接 ( "O-KLP) 。 9/30 0?:8M1 9;>;:;@D 8MAQ %#) 7 B%F R%’+) S %-"O,; C C 删 除 9,(,O,.# -KLP 1/D;>D 0?:8M1 9;>;:;@D 8MAQ %#) 7 B%F R%’+) S %-"O, 13AAD1> >3 %-"O, M9DA>MGMD9 :T ,"&KL ?@MAU V%-"O,V ; C C 1%#F ,(# 9,(,O,.# -KLP .#-#*( ! $%’& *,( S %#) 7 B%F R%’+) S %-"O,; C C >#.( (B# 9,(,O,.# (5)创建一 个 名 为 .L,).B’(F %-"O, 的 表 空 间 来 存 放 /89:; 快照, 并创建一个和该表空间有关的名为 @L,) 的用户。 1/D;>D >;:8D@0;1D W .L,).B’(F %-"O,W 83UUMAU 9;>;GM8D : D X 3/;18D X 3/;9;>; X 3/;YM X @A;0@H3>F /89:; 7 ’%, ’ @MZD 5IE9DG;?8> @>3/;UD( MAM>M;8 5IQ AD<> ![Q EMAD<F ;C C >DA>@ !II E;<D<>DA>@ ?A8MEM>D9 01>MA1/D;@D I ) 1%#,(# >,O-# .),*#1/D;>D ?@D/ .L,) M9DA>MGMD9 :T .L,) 9DG;?8> >;:8D@0;1D W .L,).B’(F %-"O,W ; C C 1%#,(# ?.#% KL (B# (,O-# .),*#F U/;A> 13AAD1> /D@3?/1D >3 .L,); C C R%,L( %’-# (’ (B# +.#% (6) 运行下面的 脚 本 文 件 .L,).B’( 7 .\- 来 生 成 用 户 表 的 快 照脚本: 1/D;>D @A;0@H3> >F TU=:<< 01>G/DD !I 01>?@D9 6I>;:8D@0;1D W.L,)*’.(F %-"O, W@>3/;UD( MAM>M;8 6I]^I AD<> [4566 01>MA1/D;@D I ) ?@MAU MA9D< /DG/D@H _M>H 0/MED/T QDTG3/ ?09;>D;@ .#-#*( TUM9, UZ:H, GZ=/8:, Z0,@<ZT,<1@ZT $%’& >F TU=:<< S %#) 7 B%F R%’+) S %-"O,;C C 1%#F ,(# .L,).B’( D<D1?>D 9:E@F @A;0@H3> 7 /DG/D@H(V.L,) 7 >F TU=:<< V) ([) 创建一个定时刷新过程来定时刷新快照: ‘ ‘ .)F .L,).B’(F %#$%#.B 7 .\- 1/D;>D 3/ /D08;1D 0/31DF 9?/D .)F .L,).B’(F %#$%#.B M@:DUMA9:E@F /DG/D@H 7 E;QD ( A;ED a b V >F TU=:<<V , 8M@> a b V .L,) 7 >F TU=:<<V , AD<>F 9;>D a b >/?A1( @T@9;>D c !)c 2 C 26,MA>D/d;8 a b ( V @T@F ; 9;>D c !) V,ME08M1M>F 9D@>/3T a b G;8@D,8;< a b >/?D) DA9 .)F .L,).B’(F %#$%#.B; D<D1?>D .)F .L,).B’(F %#$%#.B; C C De#*+(# (B# )%’*#"+%# @D8D1> =3:,_H;> G/3E 9:;F =3:@;C C 查询刚刚加入的 这个任务 .f.(#& 7 >F TU=:<< G3/ .L,) 7 >F C C 在用户 .f.(#& 下创建快照的私有同义词 TU=:<<; U/;A> @D8D1> 3A "&F RfF %f"& >3 .f.(#&; C C 向 .f.(#& 用户 授与快照 .#-#*( 的权限 1/D;>D @TA3ATE
2II^ 年第 !! 期
王卓: 3%,*-# 高级复制技术及其实现
起来以满足不断变化的业务需求。
(!) 多主复制。支持全表在各个 主 节 点 间 的 对 称 复 制, 允 许所有主节点对主表都有更新操作的权 利。 任 何 一 个 主 节 点 上的复制表 的 更 新 都 会 被 传 播 并 被 直 接 应 用 到 其 他 所 有 主 表。一个主节点出现 问 题, 不会对其他主节点之间变化的传 播造成 影 响。 多 主 复 制 采 用 一 种 称 为 “延 迟 远 程 过 程 调 用 ” 的机制作为主要的传播 ( "#$#%%#" %#&’(# )%’*#"+%# *,--. /01.) 和应用变化的机制。 可更新快照。 3%,*-# 将 最 早 3%,*-# 4 上 的 只 读 快 照 机 (2) 制扩展为一种允许快照更新的对称复制 机 制。 快 照 更 新 的 传 播方式和如何应用到快照主节点采用了和多 主 复 制 一 样 的 延 迟远程过程调用机制。快照在主节点的刷 新 是 按 照 一 定 的 时 间间隔或用户单独请求进行的。最后一次 刷 新 后 主 表 的 任 何 变化也同样被传播并应用到快照。多个快 照 的 刷 新 是 在 一 个 一致的事务中完成的, 这就确保了数据和引用的完整性。 混合配置。可以将 多 主 复 制 和 可 更 新 快 照 复 制 结 合 (5) 在一起, 构成一种新的混合配置, 这种配置 可 以 完 成 对 全 表 或 者子表的复制。 其他复制机制。过程级复制, 这种复制方案主要应用 (6) 在存在大量数据更新以及采取批处理方式操 作 数 据 时 需 要 复 制数据的情况。同步 复 制, 当 表 发 生 变 化 时, 3%,*-# 会 确 保 这 种变化能够成功地作 用 在 本 地 表 和 其 他 节 点 的 复 制 表, 如果 失败则整个事务会被成功回滚。 -KLP
相关主题