Oracle高级复制技术及其实现
Oracle12C新特性之PDB热克隆(本地克隆、远端异机克隆)
Oracle12C新特性之PDB热克隆(本地克隆、远端异机克隆)说明:版本12.2.0.112c r1版本中 clone ⼀份PDB源库需要打开在read only只读模式 , 在12c r2版本中引⼊了local undo mode, 源PDB在read/write 读写模式也可以 clone 。
local undo mode 也是oracle推崇的模式。
说明: shared undo 与 Local undo 模式切换可以参考 /zhang123456456/article/details/71374528要求:1、 Archive Log Enabled2、 Local Undo Enabled3、 destination CDB must have a public database link to the source CDB,have sufficient privileges to use the database link.⼀、克隆本地pdb[oracle@12c ~]$ sqlplus / as sysdba-- 检查是否开启 local undoSQL>col PROPERTY_NAME for a25;col PROPERTY_VALUE for a25;select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE------------------------- -------------------------LOCAL_UNDO_ENABLED TRUESQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NOSQL> show parameter pdb_file_name_convertNAME TYPE VALUE------------------------------------ ----------- ------------------------------pdb_file_name_convert string-- clone pdb 数量为⼀,注意这⾥ pdb_file_name_convert 参数⽣效级别设置的是 session ,如有需要,⾃⾏设置为全局SQL> alter session set pdb_file_name_convert='pdb01','pdb02';Session altered.SQL> create pluggable database pdb02 from pdb01;Pluggable database created.SQL> alter pluggable database pdb02 open;Pluggable database created.SQL> alter pluggable database pdb02 close immediate;Pluggable database altered.-- clone pdb 数量为多SQL> alter session set pdb_file_name_convert='pdb01','pdb02,pdb03';Session altered.SQL> create pluggable database pdb03 from pdb01;Pluggable database created.SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO4 PDB02 MOUNTED5 PDB03 MOUNTEDSQL> alter pluggable database pdb02 open;Pluggable database altered.SQL> alter pluggable database pdb03 open;Pluggable database altered.SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO4 PDB02 READ WRITE NO5 PDB03 READ WRITE NO⼆、克隆远程pdb--源端SQL> create user c##andy identified by andy container=all;User created.SQL> grant dba to c##andy container=all;Grant succeeded.-- ⽬标端cdb执⾏SQL> create database link clonePdb connect to c##andy identified by andy using '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP) (HOST = 10.219.24.17)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = pdb01)))';Database link created.-- 源端SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO-- ⽬标端cdbSQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO4 PDB02 READ WRITE NO5 PDB03 READ WRITE NOSQL> alter session set pdb_file_name_convert='pdb01','pdb04';Session altered.-- 通过 dblink 克隆源端的 pdbSQL> create pluggable database pdb04 from pdb01@clonePdb;Pluggable database created.SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO4 PDB02 READ WRITE NO5 PDB03 READ WRITE NO6 PDB04 MOUNTEDSQL> alter pluggable database pdb04 open;alter pluggable database pdb04 open*ERROR at line 1:ORA-14694: database must in UPGRADE mode to begin MAX_STRING_SIZE migrationSQL> ho oerr ora 1469414694, 00000, "database must in UPGRADE mode to begin MAX_STRING_SIZE migration"// *Cause: An attempt was made to update the MAX_STRING_SIZE parameter// to EXTENDED when the database was not in UPGRADE mode.//* Action: Restart the database in UPGRADE mode, modify the parameter,// run the utl32k.sql script in $ORACLE_HOME/rdbms/admin, and// restart the database in normal mode.说明:这个报错的原因是⽬标端使⽤了12c的新特性extended data type ,源端没有使⽤这个新特性,从源端克隆过来的pdb需要扩展extended data type 新特性与⽬标端保持⼀致。
Oracle数据库高级复制技术的应用
D L语 句 ,应 先 将 该表 移 出复 制 环境 删 些 大的信息系统往往 由多地的不 同用户同时使用 , 由相距较 不 加 分 号 。若 直 接执 行 了 D 远 的多 个 站 点构 成 的广 域 网 ,并 且 各 个 站点 之 间 需要 数 据 共享 , 通 掉 , 再重 新建 立 或 复制 表 。 3 . 5 如需 要 在 表 中增 加 字段 并 设 置 默认 值 时 , 在9 i 之前 的版本 常将这些共享 的数据存储在其中一个站点上 , 作 为数据 中心 , 所有 用 户都 从 该站 点 存 取数 据 。这 种 方 案很 容 易 就 能保 证 数 据 一致 性 , 中要 分 成两 部分 执 行 , 不 能一 次执 行 。例 AL TER TABLE o wn e r . t a b l en a me ADD f ie l d nam e 但会造 成数据 中心的负载过大 , 使远程用户 的数据响应很慢 , 甚 至 AL TER TABLE o wne r . t a bl en a me MODI FY f ie l d n a me DE— 造成系统瘫痪 。数据复制技术可 以有效地解决这个问题 , 它通过将 AUL T a b e 这些共享数据复制到多个不同站点的数据库 中, 实现数据的本地访 F 问, 减少 网络负荷 , 并提高数据访 问的性能 , 而且通过数据 同步 , 确 因为在高级复制环境中, 执行任何 D D L语句 , 都需要 S U S P E N D 保 数据 实 时 陛和 一 致 性 _ l _ 。该 技 术 适 用 于用 户 数 较 多 、 地 理分 布较 复制 组 , 此 时 复制 表 只 能查 询 , 不 能再 执 行 D M L语 句 。 如何 在一 个 广、 而 且需 要 实 时地 访 问相 同数据 的应用 模 式 。 S Q L 语句中执行添加字段 同时赋缺省值 , 则添加字段后插入缺省值 O r a c l e 数 据库 的复 制 是 由数 据 库 的后 台进 程 自动 实现 的 , 通 过 的 D ML操作 不 会执 行 , 并且 报 错 。分 成两 步 操作 能 解决 该 问题 。 设 置 数 据库 参 数 ,确 定 后 台 负责 复 制 任 务 的 进 程 数 和 被 激 活 的 时 3 . 6 执行 任何 对 复 制环 境 的管 理命 令 前 ,都 要保 证 此 时没 有堆 E F E R R E D T R A N S 。 间 。数 据库 的后 台进 程 是 由系统 按 设 定 的时 间 问 隔 执 行 预 定 的操 积 的 D 作, 以 实现 数 据 定 期 地从 源数 据 库 到 目标 数 据库 的传 输 , 并 由系 统 3 . 7 A D M I N R E Q U E S T ( 对 复 制环 境 的管 理 命令 ) 须 - - 步 一 步执 E P C A T L O G表保 存 A D MI N R E Q U E S T语 句 , 从 第 一 条 进行控制 。O r a c l e 数据库复制支持基本复制和高级复制两种形式 , 行 。用一 个 R 这 里主 要 讲述 O r a c l e 高级 复 制技 术 在应 用 时 的设 计 , 以及 可 能 遇 到 到最后一条顺序执行 , 只有执行完上一条后才能执行下一条 。每次 的 问题 和 解 决 办法 。 发出 A D M1 N R E Q U E S T后 , 都要 检查 R E P C A T L O G表 是 否 为 空 , 只 1基 本概 念 有当所有的 R E P C A T L O G表都为空后 ,才能将复制组设置为 N O R — O r a c l e 高级复制 , 即对称 复制 , 既可支持整个表 的复制也 可支 M A L , 发 出下 一 条命 令 。 持基于部分表 的复制两种复制方案 , 其主要是通过多主复制和可更 3 . 8如果 R E P C A T L O G表中有无法执行 的命令 , 可以 A P P L Y或 新 快 照复 制 两种 机 制实 现 的 。 同时 还 可 以将这 两 种 复制 机 制结 合起 P U R G E掉 , 再重新执行命令。若只是其 中一个节点上有遗 留命令 , 来 以满 足 不 断变 化 的业 务 需求 。 则可 在该 节 点上 多 执行 几 次 A P P L Y 。 2 高 级复 制设 计 步 骤 3 . 9 当出现死锁 现象时 ,可以先尝试 中断掉该 A D MI N R E — 2 . 1 多主 复制 Q U E S T对 应 的 任务 , 重 新刷 新 命 令 , 若 能 继 续 执行 , 则 恢 复任 务 , 否 ( 1 ) 创建 复制环境 , 明确高级复制的站点和参 与复制 的数据表 ; 则从 V ¥ S E S S I O N和 V ¥ L O C K中查 出 死 锁进 程 , 用A L T E R S Y S T E M 保证各站点具有复制关系的表结构的一致性 ; f 2 ) 使用数据库复制管 K I L L S E S S I O N 将 其 杀掉 。如果 无 法杀 掉 , 则需 查 出类 型为 R Q 的 理器, 定义参加复制的站点 , 在复制的各站点 , 建立包含复制实体的 分 布 式 死锁 , 根据 S I D查 出对应 的后 台进 程, 从 操 作 系统 中杀 掉 后 台 用户和复制 的数据库链路 , 建立复制的管理 用户 , 配置数据更新的 进 程 , 最 后再 阪 复任务 和 相关 复制 环 境 的状 态 。 计划 ; ( 3 ) 建 立主复制组 , 不 同的需参与复制的实体可加入不同的组 4 实际 应用 中; f 4 ) 给用 户 分 配 适 合 的 权 限 , 防 止 由于 用户 权 限过 大 而 造成 的 复 某地下水监测系统由省级主站 、市级分站和县级分站组成 , 数 制 冲突 。 据存储采取省级数据中心和市级数据 中心分布式存储 , 均采用 O r a — 2 . 2可 更 新快 照 复制 c l e 数据库 , 以确保全省数据储存 的快速 、 稳定 、 安全 。 各市分站只为 f 1 ) 创建 复制环境 , 明确高级复制的站点 、 参与复制的数据表和 本市所辖县级分站提供存储服务 , 并将所有测报数据传送汇总到省 可更新快照复制的站点 ; 保证各站点具有复制关系的表结构 的一致 级 主站 数 据 中 心 , 同时 其 为各 市 级 分 站 数 据 实现 异 地 备 份 , 提供 跨 性; ( 2 ) 在 复制 的各 站 点 建 立快 照管 理 用 户 , 建 立 包 含 可 更 新快 照实 地市数据查询 , 当各地市分站数据出现故障时 , 可从省级主站读取 体的用户和复制的数据库链路 ,配置数据更新的时间和间隔; f 3 ) 在 数据 , 恢 复数 据 。 主站点建立快照 日志 ; ( 4 ) 在复制点建立必要的更新组 ; ( 5 ) 建立快照 整 个数 据 同步 机 制 主要 采 用 O r a c l e 复 制 技 术 的 可更 新 快 照 机 组, 快照组可包含表 、 存储过程 、 包、 函数 、 同义词 、 视图等实体 ; ( 6 ) 给 制 。 整个 分 布式 数据 库 系 统采 用 的是 “ 一 主 多从 ” 的 结构 ( 如图 1 ) , 设 用 户分 配 适合 的权 限 , 防止 由于用 户权 限过 大 而造 成 的复 制 冲突 。 [ 3 1 置省 级 主站 的数 据 库 系统 为 主数 据 库 , 各 市分 站 的数据 库系 统 为从 3 需要 注 意事 项 数 据 库 。使 用 O r a c l e 系 统 中的 增量 复 制技 术 , 定 时 或 手 动进 行 主数 3 . 1确 保 网络 连 接 的稳 定 。如 果 服务 器 网络 连 接 中断 ,则 造成 据库 与从 数 据库 的数 据更 新 。 从数 据 库复 制 到主 数 据库 的是 全 部数 数据无 法访 问和传输 ; 网络不稳定 , 会导致数据传输 过程中出现丢 据 , 只要从 数 据 库 中 的数 据有 变 化 , 就 会反 映到 主数 据 库 中 ; 主数 据 包 现象 , 影 响 数据 的完 蛰 陛 。 库复制到从数据库的是与本市分站相关的测报数据。 3 . 2要有较高的网络传输速度。各个站点之间要进行 大量 的、 频 繁 的数 据传 输 , 速 度 过慢 的话 将 影 响其 访 问速 度 。 3 . 3服 务器 应 保 持开 机 状态 或 定 时开 机 。否 则会 造 成 大量 的延 迟 任务 , 无 法 进行 数 据 发布 。 3 . 4 不 能 在 参 与 复制 的表 上 面 直 接 执行 D D L语 句 。因 为 O R — A C L E 自动在 参 与 复制 的表 上建 立 了支持 复 制 的 T R I G G E R 和 P A C K A G E , 在其上面直接执行任何 D D L语 句都会破坏这些复制支 持 。应 该先 S U S P E N D要修改表 所在 的复制 组 ,在 R E P I C A T I O N M A N A G E R中或 调 用 R E P C A T ��
Oracle 9i数据复制技术在教务系统中的应用
4 结语 在跨地域的网 络上构造基于因 的分布 特网
式数据库系统应用时,由于信息分布在不同 的站点上,用户往往要从多个站点获取数据 完成操作,同时保证一定的效率和可用性. 本文提出的分布式数据库系统有一定的可行 性 ,有很好的应用前景。
设计单一中 心站点带来瓶颈向题的可能性。 在每个 的局 内 在多 校区 域网 存 个级别 不同 的管理部门,每个部门对数据的访问要求不 同。中心数据库与各部门 站点间 采用物化视 图站点复制的方法复制全表或者子表,既加 强了数据访问的控制,又减轻了中心站点的 负担。它由 一个主站点和多个视图站点共同
( 1) 复制的数据是否需要更新, 以及 1 引言 ORACLE 数据复制是实现分布式数据环 由谁更新 . (2 ) 数据的分布应考虑其一致性、自 境的一种技术,通过在不同的物理站点拷贝 数据来建立分布式数据环境,数据复制实现 治性和延迟 。 (3 ) 复制环境,其中包括技术基础、 了所有的站点都有相同数据对象的可用拷贝。 本文通过具体的实例,展示了一个异步复制 网络和安全以及数据特征。 存取频繁的数据尽量位于本地数据库。 的过 程 。 如果这些数据由远程数据库进行管理,则需 考虑将其复制到本地 ,可以简化程序的设 2 数据复制的概念 数据复制可分为同步数据复制和异步数据 计,也可提高数据的安全性,降低网络流 提高性能。如果应用程序需要同时存取 复制。同步数据复制是指复制数据在任何复 量, 制节点均保持一致。如果复制环境中的任何 本地和远程的数据库,设计时要通过事务的 一个节点的复制数据发生了更新操作,这种 同时提交和回滚以保证数据的一致性。 变化会立刻反映到其他所有的复制节点。但 3. 2 数据复制的冲突 如果复制的数据破坏完整性约束 (如当 这种方式受带宽影响较大,数据传输距离较 短。异步复制, 所有复制节点的数据在一定 不同站点的事务向参加复制的表中插入主键相 时间内是不同步的。如果复制环境中的其中 同的记录时) 将导致惟一性约束冲突。如果 性约束问 一个节点的复制数据发生了更新操作,这种 复制方在插入和修改时出现违反推一 变化将在不同的事务中 被传播和应用到其他所 题,则复制方检测到惟一性约束冲突。 多站点复制时网络上不同数据库上的用户 有复制节点。复制节点之I 的数据临时是不 J a ’ 同步的,但传播最终将保证所有复制节点间 同时修改或删除同一记录或同时插人主键相同 的数据一致,根据实际应用,在配置复制时 的记录的矛盾,在设计时来避免。 (1 尽量减少需同时更新数据的站点数; ) 可以设置同步的时间间隔。对于所有应用最 (2) 建立不同取值范围的序列生成器生 关键的就是要确保数据的一致性。 按照复制站点的类型,数据复制可分为 成主键,避免主键重复的矛盾。对于站点多 一方法是 多主控站点复制、物化视图复制及混合复 的情况不合适。避免主键重复的另 制。多主控站点复制也称为对等站点复制, 在每一站点采用相同的全范围的序列生成器, 其中每个站点都是主控站点,都需要与其他 将其与站点的惟一性标识作为复合主键。 当不同站点的事务在同一时间修改同一记 站点进行信息交流,各站点之间是平等的。 在设计时需尽可能避免 允许所有主站点对主表有更新操作的权力。 录时将导致更新冲突, 更新冲突. 数据库内建的冲突解决功能不能解 任何一个主站点上的复制表的更新都会被传播 对主键的修改、 违反参考一致性 并被直接应用到其它所有主表。一个主站点 决删除冲突、 出现问题,不会对其它主站点之间变化的传 等冲突。这些需要通过应用的实际解决。 播造成影响。物化视图复制包含一个主控站 3. 3 复制机制的应用设计 考虑到各校区的流动不大,整个系统对 点、 一个或多 个物化视图 站点, 物化视图中 的内容可以为目 标主对象在某个时间 点的全部 数据的实时性要求不高,可以容忍一定的数 拷贝或部分拷贝,其中目 标主对象既可以是 据的延迟和不一致,因此可采用可靠性高、 主 控站点 上的表也可以 是物化视图 站点上的主 资源要求较低的异步复制方案。在具体实施 物化视图。混合复制包含多个主控站点和多 上,采用混合配置来满足不同层次数据复制 个物化视图站点,是主控站点复制和物化视 的 需 求 。 对于系统的全局数据,例如学生的基本 图复制的结合体,适合于复杂的业务情况。 信息等,各校区的局域网均可访问到,任何 校区的局域网 对全局数据的更新都可反映到其 3 数据库复制的设计 他校区的局域网上。考虑到信息量大,在每 3, 数据复制分布设计 1 在各 如何分布和设计数据库需视具体工程应 个校区的局域网内设计一个中心站点, 用的地理分布、组织关系、数据量、资金 中心站点之间采用多主控站点复制模式进行全 和对数据的安全性等情况而定。数据库复制 局数据的共享和复制。这样的设计增加了系 的设计要尽可能简单,关系简化, 减少维护 统的冗余性,大大增加了故障发生时系统的 可用性,且减少了网络通信量,降低了发生 〕 《3丫 } 以刁 A丁0 人 卜〕 EC 冲 ) N「 M 1
Oracle数据复制技术研究
1 数据复制类型
复制技术是保持数据库间数据同步的一种机制 , 复制可以分成不同的类型, 主要包括 :
11 同一 数据 库 内的数据 复制 .
根据需要将一个数据库表中的数据复制到同一个数据库中的另一个数据库表中, 在此种情况下 , 复 制的数据 比较有限 , 以说是一种简单情况下的复制. 可 12 不在 同一 数据库 的 两个 表 间的数据 复制 . 此种情况下 , 需要将数据从源数据库表复制到 目标数据库表 , 这样可以有效地使用数据资源. 当目 标数据库存在时 , 可直接将数据复制到 目标数据库中; 当目标数据库不存在时, 可先创建 目标数据库 , 然 后将数据复制过来.
包括语句级触发器 (te etl e 和行级触发器( o — v1两类. S t n-e 1 am v) Rw l e) e 一般来说 , 语句级触发器针对触发 事件只能发生一次 , 而行级触发器可针对每一行进行触发.
如果所需的数据复制十分有限, 就可以使用数据库触发器在表之间复制数据. 通常 , 只有发送到远
圈 1 简 单 快 照
图 2 复 杂 快照
由于快照将在本地数据库中创建一些对象 , 因此 , 创建快照的用户必须要有 c a b 权限和 u — r tt l e ea e n l idt l pc 权限或存储快照对象的表空间的定额. i t be ae me a s 快照在本地数据库中创建并从远程主数据库获
2 数据 复制方法
用于复制的方法有几种 , 具体使用哪种方法取决于用户想要使用的 Oal 功能. r e c 本文主要介绍使
用触发器和使用快照这两种方法.
收稿 日期 :0 1 o 一 O 2 1一9 l
作者简介 : 李颖( 95 ) 女 , 17 一 , 吉林四平人 , 吉林师范大学计算机学院讲师
用ORACLE的高级复制实现内外网数据同步
用ORACLE的高级复制实现内外网数据同步本文简要介绍了ORACLE的高级复制功能,并通过一个实际项目,讨论了在内外网的两级DB 中如何采用高级复制达到内外网的数据统一,最后给出配置脚本供大家参考。
1、基本概念ORACLEORACLE是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。
是客户/服务器(CLIENT/SERVER)体系结构的数据库之一。
高级复制什么是复制?简单地说复制就是在由两个或者多个数据库系统构成的一个分布式数据库环境中拷贝数据的过程。
高级复制,是在组成分布式数据库系统的多个数据库中复制和维护数据库对象的过程。
Oracle 高级复制允许应用程序更新数据库的任何副本,并将这些更改自动传递到其他数据库,同时确保全局事务处理的一致性和数据完整性。
同步复制,复制数据在任何时间在任何复制节点均保持一致。
如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点。
这种技术适用于那些对于实时性要求较高的商业应用中。
异步复制,所有复制节点的数据在一定时间内是不同步的。
如果复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有复制节点。
这些不同的事务间可以间隔几秒,几分种,几小时,也可以是几天之后。
复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。
2、项目情况需求描述这是一个内外网结构的审批系统。
外网有一个WEB(+APPSERVER),一个DB(ORACLE9.2,双网卡),负责接收申报和反馈审批结果。
内网有一个WEB(+APPSERVER),一个DB(ORACLE9.2,双网卡),负责接收申报和反馈审批结果,以及通过审批流程处理来自外网的审批申报。
由上可知,内网功能包括外网功能,不过外网申报需要CA认证,内网则不需要。
根据国家保密有关规定,政务系统的内外网必须物理隔绝,所以外网接收到的申报并不能马上反应到内网,同理,内网的处理结果也不能迅速反馈到外网。
oracle数据库replication功用的实现
高级复制什么是复制?简单地说复制就是在由两个或者多个数据库系统构成的一个分布式数据库环境中拷贝数据的过程。
高级复制,是在组成分布式数据库系统的多个数据库中复制和维护数据库对象的过程。
Oracle 高级复制允许应用程序更新数据库的任何副本,并将这些更改自动传递到其他数据库,同时确保全局事务处理的一致性和数据完整性。
同步复制,复制数据在任何时间在任何复制节点均保持一致。
如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点。
这种技术适用于那些对于实时性要求较高的商业应用中。
异步复制,所有复制节点的数据在一定时间内是不同步的。
如果复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有复制节点。
这些不同的事务间可以间隔几秒,几分种,几小时,也可以是几天之后。
复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。
一、实现数据库复制的前提条件1、数据库支持高级复制功能您可以用system身份登录数据库,查看v$option视图,如果其中Advanced replication为TRUE,则支持高级复制功能;否则不支持。
2、数据库初始化参数要求①、db_domain = 指明数据库的域名(默认的是WORLD),这里可以用您公司的域名。
②、global_names = true它要求数据库链接(database link)和被连接的数据库名称一致。
现在全局数据库名:db_name+”.”+db_domain③、有跟数据库job执行有关的参数job_queue_processes = 1job_queue_interval = 60distributed_transactions = 10open_links = 4第一行定义SNP进程的启动个数为n。
系统缺省值为0,正常定义范围为0~36,根据任务的多少,可以配置不同的数值。
Oracle高级复制技术及其实现
收稿 日期 : 0-71 2 60.1 0 作者简 介: (99)女 , 王卓 1 -, 山西太原人 , 昌大学软件学院助教 , 7 南 硕士研究生 , 研究方 向 : 分布式 数据库 。
维普资讯
2O 年 第 l期 O6 1
王 卓:r l高级复制技术及其 实 Oae c 现
有 ”这些要复制的数据仅能 被该节 点更新 , 他节点 向拥 有 , 其 该数据 的主节点订阅数据 , 这意 味着他 们在本 地系 统上 只能
够存 取这些复制数据的只读拷贝。
() 2动态所有权 : 步更新将复制数据从 一个节点移 到另 异
一
个 节点 , 而在该 过程 中, 必须保证在 同一 时刻只有一个 特定
数据复制到另一系统, 可以起到对主系统的崩溃提供保护的
作用 , 这也就是所说 的 FiOe系统 , a.v l r 如果 主系统 出现 问题 , 业务依 旧可 以通过复制数据库进行 。
1 O al数据 复制应用模 型 rc e
为确保实际应用数据的一致性 , 必须在异步复制
2 rc O al e高级 复制配置
17 0
起来以满足不断变化的业务需求。
() 主复制 。支持全表在各个 主节点间 的对称 复制 , 1多 允
3 技术实现细节。 .
() 1 在数据库 2 XT ) ( JU 上增加数据库 1R DB ) sncs ( 工 A 的 ede nm , g e 可以直接在 伽 eis rc
ORACLE数据库复制
ORACLE数据库复制ORACLE数据库高级复制一、数据库复制概述复制,顾名思义就是将数据库中的数据拷贝到不同物理地点的数据库中。
在很多生产环境中,经常遇到一些大量得数据,这些数据只用作查询统计功能。
例如:历史告警,历史性能指标,历史事件,等等。
这种数据的特点是:只读不写,数据量相当大,一旦查询大结果集的数据时,对数据库的IO,内存缓存占用相当大,会严重影响同一个数据库的其他会话的操作,表现为整个数据库反应迟缓,业务功能不可用。
采用复制技术后,将这些大型数据复制到另外一个数据库中,对这些大数据的查询统计操作放在另外的一台数据库服务器上进行,即使受影响,也只是影响局部的查询统计功能,其他正常的业务处理不受影响。
但是,使用复制技术的话,意味着一个系统中,至少存在两个数据库(集群的数据库也当成一个数据库),对应的应用程序也需要建立多个数据库连接,能够根据业务需要,访问不同的数据库。
ORACLE数据库自身提供有复制功能,只需要进行配置即可实现。
ORACLE提供有三种复制技术:高级复制(Advanced Replication)流复制(Streams Replication)备库(Dataguard)备库的方式,就是数据库对数据库的备份方式,主要是解决容灾的,不讨论此话题。
流复制主要是利用ORACLE的归档日志,进行增量备份来实现的,不仅可以配置只复制某些表,还可以配置仅复制某些表上的ddl或dml。
可以复制到表,用户,数据库级别。
高级复制主要是基于触发器的原理来触发数据同步的,因此,高级复制无法实现用户,数据库级别的对象复制,只能做些表、索引和存储过程的复制。
如果出于容灾整个数据库的考虑,高级复制相当复杂,而且并不一定能做好,流复制的配置相对简单。
流复制是后来产生的复制技术,是基于日志挖掘技术实现的,对数据库的影响较低。
但在稳定性方面较差,实时性没有高级复制强(因为高级复制是基于触发器的)。
如果系统意外的话,流复制的恢复将会需要较长时间,特别是意外时间越长,恢复时间成倍增长。
Oracle数据库中高级复制的功能介绍
Oracle数据库中高级复制的功能介绍PDF转换可能丢失图片或格式,建议阅读原文/html/214/s_214477_21.htm-:前言-:日益增长的分布式应用需求要求实现更好分布式的软件环境,不断推动着分布式技术的进步。
数据复制是实现分布式数据环境的一种技术,通过在不同的物理站点拷贝数据来建立分布式数据环境。
它与分布式数据库不同,在分布式数据库中,虽然每个数据对象也对所有的站点可用,但是特定的数据对象只存在于一个特定的站点中。
而数据复制实现所有的站点都有相同数据对象的可用拷贝。
-:在一个典型的分布式商业应用中经常需要把个地区的数据备份到总部的数据库中,一方面可以作为一种备份方式,另一方面也方便总部应用中的综合统计。
这是数据复制中的简单应用,本文将以这样一个例子,讲述如何实现数据复制。
-:实际情况是,公司总部在北京,有三个营业部分别位于上海(..)、杭州(..)和武汉(..)。
三个营业部的软件系统相同,数据库结构也相同。
现在需要把三个营业部的数据全部备份到总部的数据库中。
-:准备工作-:在进行复制之前需要准备的东西很多,当然最基础就是网络必须畅通,之后需要收集一些复制环境的基本信息:-:.需要复制的数据库站点的数量。
-:.每个站点的版本号。
-:.每个需要复制的数据库的大小。
-:.每个数据库所使用的字符集。
-:.每个需要复制的数据所用的方案名。
-:收集完环境信息,可以开始建立总部的集中数据库,集中数据库要求版本高于所有主战点的版本,最好所有的数据库都是用相同的字符集。
建好库后为每个主站点的备份数据分别建一个表空间,表空间大于需要复制的数据量,至于预留以后的发展空间视实际情况而定。
-:为每个主站点的对应复制数据建立方案,如果各个主站点所使用的方案名不同,在集中数据库站点分别建立名称相同的对应方案。
否则为各主站点的复制数据分别建立相应的方案名。
实际情况是后者,各营业部的数据库都是用的方案名,这里我们建立三个对应方案:、和。
Oracle高级复制配置手册
高级复制配置手册(Materialized View Replication)----主站点配置Materialized View Replication复制模式实现了单主机对多个复制站点的数据同步.在主站点(即被复制主机)需要建立只读用户供复制站点来访问.下面开始配置主站点:1.初始化参数检查A. 检查global_names参数值是否为trueSQL> show parameter global_names;NAME TYPE------------------------------------ ----------------------V ALUE------------------------------global_names booleanTRUE如果为false,则需要用alter system set global_names=true命令来修改;B. 检查job_queue_processes参数是否大于0SQL> show parameter jobNAME TYPE------------------------------------ ----------------------V ALUE------------------------------job_queue_processes integer20如果小于0则不能成功建立主站点,对于多个复制站点时需要设置较大的值,用命令alter system set job_queue_processes=20来设置相应的值.2.检查全局数据库名称需要检查主站点和复制站点的db_domain名称是否相同,db_name不同.用select * from global_name语句来查询:SQL> select * from global_name;GLOBAL_NAME---------------------------------------ITRAC1其中显示的ITRAC1为db_name,这样的结果说明没有db_domain,如果设置了db_domain则会显示ITRAC1.DOMAIN,那么所有复制站点的db_domain也必须为db_name.DOMAIN.如果需要修改则使用alter system rename global_name to ITRAC1.domain来设置全局名称.3.通过OEM工具来连接需要设置成主站点的数据库4.点确定进入独立启动模式5.选中需要设定为主站点的数据库名6.以system用户登入数据库7.选择分布->高级复制->实体化视图复制8.右击主体站点,选择设置主站点9.在打开的对话框中选择添加,站点则选择需要设置的数据库名,并输入密码10.点击添加按钮11.点确定12.点下一步13.这步是要为主站点设置复制管理员,来管理高级复制,选择默认即可,口令可以修改,默认为用户名,点下一步14.这步需要设置复制方案,可以添加你需要复制的表所在的用户名(或跳过)15.确定16.下一步17.按照复制要求可以设置调度时间,这里设置5分钟(该步对于Materialized ViewReplication模式的主站点其实是不需要的),用于多主体复制中的多dblink调度18.确定后,点下一步,设置清除延迟事务处理完成队列的时间间隔,这里设置30分钟19.然后下一步,只致完成20.完成后就创建了复制管理员,这时退出system用户,用复制管理员登陆21.开始建立主体组,右击主体组->创建22.输入主体组名称23.选择对象选项卡,选择添加24.选择需要复制的表所在用户25.选择表,然后点添加,除PK索引外,其它索引也必须分别添加26.再选择创建27.创建完成后,可以看到复制是否开启,如果是正在运行则配置正确28.接下来需要为快速刷新模式建立实体视图日志29.右击然后选择创建30.选择用户及表,分别添加,如果存在PK,则选择PK,否则选择行ID刷新31.点创建即可完成32.再选择管理查看33.可以看到复制结构的拓朴图其中的实体化视图1表示有一个复制站点连结到该主站点做数据复制同步.34.到此,主站点的配置基本完成.后续维护主要检查其是否有错误及延迟事务产生,作业调度(job)是否正常运行.oracle日志中是否有报错.测试:建立完整的实体化复制结构后,对于该结构的功能进行了测试:1)单表无纪录,新增一笔纪录,当设定的同步时间到来时,自动同步成功,基本无负载;2)单表一笔纪录,修改这笔纪录,同步时间到,自动同步成功,基本无负载;3)单表一笔纪录,修改这笔纪录并且新增一笔纪录,同步时间到,自动同步成功,无负载;4)单表新增10000笔纪录,同步时间到,自动同步成功,负载大概升高0.50(linux下负载);5)单表修改这10000笔纪录中的其中几笔,自动同步成功,基本无负载;多表做以上测试,除了第4步负载多提高0.1,其它的结果一样.对于BLOB数据类型测试:对于以上表,在停止复制请求后,重新导入表,生成复制支持后,开始复制(复制站点需重新配置复制组)1)对于为空的blob字段,同步无错误;2)对于修改后,添加文件的blob字段,更新同步无问题;3)新增纪录包含blob值同步无问题.测试结果,基本能满足GreenDB同步.关于复制站点的配置后续给出!有问题的地方请各位指出,谢谢!。
oracle高级复制简要攻略
02oracle高级复制简要攻略1基本信息数据库1:19.200.12.68上的orcl数据库2:19.200.12.66上的orcl22建立高级复制2.1 高级复制初始化1.安装oracle数据库服务器端时,需安装高级复制(advanced replication),或者直接选择安装企业版。
2.安装完成后,需要建立oracle数据库,通过Database ConfigurationAssistant,unix下用oracle用户登陆系统执行dbca。
图13.建立过程中,到下图步骤时,全局数据库名以数据库名+域名的方式填写,即xx01.sdcz、xx02.sdcz等。
图24.如果第3步没有设置好全局数据库名,可以通过图1的Net Manager进行配置。
图3如图3,去掉“使用oracle8发行版8.0兼容标识”,在服务名填入域名即可。
5.登陆图1的Enterprise Manager Console,将另一边的数据库加到树中。
6.以system身份登陆图1的Enterprise Manager Console,如图4。
打开已分配-〉高级复制-〉管理-〉配置,将global_names设为true。
图47.以上步骤在另一边的数据库重复一次。
8.这步很重要。
如果服务器之间使用了网闸,则需要修改数据库链接,可通过em修改。
2.2 多主体站点配置1.选择主站点服务器,例如示例中有2个库,我们选择orcl为主站点。
点击图4中的多主体复制,出现图5。
图52.点击“设置主体站点”,出现图6。
图63.点添加,出现图7。
将要复制的orcl和orcl2添加到站点里。
图74.下一步到“设置默认的链接调度”,如图8。
设置下一日期为立即,时间间隔为1秒。
图85.下一步,设置默认的清除作业调度,如图9。
设置时间间隔为1分钟。
图96.下一步直到完成。
断开连接2.3 建立主体组1.用repadmin登陆orcl,密码相同,一定要用repadmin登陆。
oracle database replay 原理
oracle database replay 原理(实用版)目录1.Oracle Database Replay 简介2.Oracle Database Replay 原理3.Oracle Database Replay 的应用场景4.Oracle Database Replay 的优势与不足5.总结正文【1.Oracle Database Replay 简介】Oracle Database Replay 是 Oracle 数据库提供的一种复制解决方案,它可以将一个或多个源数据库中的数据和事务复制到目标数据库。
通过使用 Oracle Database Replay,用户可以实现在不同数据库之间同步数据和事务,满足数据迁移、数据备份和恢复等需求。
【2.Oracle Database Replay 原理】Oracle Database Replay 的基本原理是基于 Oracle 数据库的复制技术,主要包括以下三个组件:1.源数据库(Source Database):源数据库是指需要将其数据和事务复制到目标数据库的数据库。
在源数据库上,Oracle Database Replay 会捕获并记录数据库中的事务,包括数据修改、删除和插入等操作。
2.复制服务器(Replication Server):复制服务器是 Oracle Database Replay 中的核心组件,负责将从源数据库捕获的事务处理并传递给目标数据库。
复制服务器会将源数据库中的事务转换为可执行的 SQL 语句,并将这些 SQL 语句发送到目标数据库执行。
3.目标数据库(Target Database):目标数据库是指接收源数据库复制过来的数据和事务的数据库。
在目标数据库上,Oracle Database Replay 会执行复制服务器发送过来的 SQL 语句,完成数据和事务的复制。
【3.Oracle Database Replay 的应用场景】Oracle Database Replay 可以应用于以下场景:1.数据库迁移:将数据从一个数据库迁移到另一个数据库,例如从旧版本的 Oracle 数据库迁移到新版本的 Oracle 数据库。
oracle 数据库复制参数
标题:Oracle数据库复制参数解析与优化建议一、介绍Oracle数据库复制是指将数据从一个数据库实例传输到另一个数据库实例的过程。
数据库复制通常用于数据备份、灾难恢复和数据分发等场景。
在Oracle数据库中,复制参数的设置对复制效率和数据一致性具有重要影响。
本文将深入解析Oracle数据库复制参数,并给出优化建议。
二、数据库复制参数在Oracle数据库中,常用的数据库复制参数包括以下几个方面:1. 复制方式:Oracle数据库支持多种复制方式,包括物理复制和逻辑复制。
物理复制是指通过数据库实例之间的日志传输来实现数据同步,逻辑复制则是通过逻辑变更记录实现数据同步。
选择合适的复制方式对于复制效率和数据一致性至关重要。
2. 日志传输模式:Oracle数据库提供同步传输和异步传输两种模式。
同步传输要求每次提交都要保证数据被传输到目标数据库,而异步传输则是在提交后立即返回,数据传输由后台进程异步完成。
同步传输能够确保数据一致性,但对性能有较大影响,异步传输则能提高性能但数据一致性可能存在风险。
合理选择日志传输模式能够平衡性能和数据一致性的需求。
3. 复制延迟时间:复制延迟是指数据从源数据库到目标数据库的时间间隔。
在一些对延时要求比较高的场景下,需要尽量缩短复制延迟时间。
通过调整复制参数能够有效控制复制延迟。
4. 数据过滤:在进行数据库复制时,有时需要对数据进行过滤,选择需要复制的数据行或列。
Oracle数据库提供了多种数据过滤的机制,如条件过滤、行过滤和列过滤等。
通过合理设置数据过滤条件能够精细地控制数据复制的粒度,提高复制效率。
5. 监控和报警:在数据库复制过程中,需要及时监控复制状态和性能指标,及时发现并解决复制过程中的问题。
Oracle数据库提供了丰富的监控和报警机制,通过合理设置监控报警参数能够及时发现问题并进行处理。
三、优化建议针对上述数据库复制参数,我们提出以下几点优化建议:1. 合理选择复制方式:根据实际需求和场景选择合适的复制方式。
oracle主从复制原理(一)
oracle主从复制原理(一)
Oracle主从复制简介
•什么是Oracle主从复制?
•Oracle主从复制的作用是什么?
•Oracle主从复制的原理是什么?
Oracle主从复制原理解析
1.主从复制概述
–什么是主从复制?
–主从复制有哪些优点?
2.主从复制的基本原理
–主从复制是如何工作的?
–主从复制的数据同步原理是什么?
3.Oracle主从复制的实现方式
–Oracle物理主从复制
–Oracle逻辑主从复制
4.物理主从复制
–物理主从复制的流程
–物理主从复制的实现步骤
5.逻辑主从复制
–逻辑主从复制的流程
–逻辑主从复制的实现步骤
6.主从复制常见问题及解决方案
–主从复制可能遇到的问题
–如何解决主从复制中的常见问题?
结语
通过本文的介绍,我们了解了Oracle主从复制的基本概念和原理,以及实现方式和常见问题的解决方案。
希望读者能够通过本文对
Oracle主从复制有更深入的了解,并在实际应用中充分发挥其作用。
Oracle复制技术在分布式信息系统中的同步应用
有准备好 , 传播变化的延迟远程过程调用就会保存在其本地队
列中 , 等到系统 准备好 以后再执行 。
12 可 更 新 快 照 复 制 .
福州 市处
厦 门 市处
泉州 市处
龙岩 市处
图 l 福建省运输管理系统数据 中心分布图 各级 数据 中心的 存储 原则 : 省局数据 中心( 内网) 汇集全 省
和基于部分表的复制两种复制方法 。 这两种 复制 主要是通过多 2 实际应 用
. 主复制和可更新快照复制两种机制实现的 。 同时还可 以将这两 21福建省运输 管理局 网络环境 福建 省运输管 理局根据 系统业 务的需要 , 立 了全 省 的 建 种复制机制结合起来以满足不断变化的业务需求。
22数据复制以及各中心的数据 同步过程 -
行 的子集 。 快照在主节点的刷新是按照一定的时间间隔或用 户
的运管所提供存储服务 , 并将数据汇集到省局数据中心 , 出现
数据故障时 自动从省局读取 数据进行 数据恢复 。 基于 以上的数据 存储 原则 ,整个数据 同步机制 主要采 用 可 澌 快照棚 l 。省局 的数 库系 设置 主 据 统 数据库, 各市处的数据库系统设置为从数据库, 所以整个分布式数 据库系统 居‘ 一主多 ’ 的结构。 使用 Oal系统中的增量复制技 r e c
维普资讯
计算机时代 20 年 第 3 07 期
・ 7 3・
Oal复制技术在分布式信息系统中的同步应用 r e c
赖 万钦
( 福建交通职业技术学院,福建 福州 300) 507
摘 要 :采 用基 于增量 复制 来解决分布式 系统的数据 同步是一个 简单 易实现的 方法 。文章 利用 O al 的 高级复制技术 rce 实现 了分布式数据库 系统间的数据同步, 并给 出了 P /QL命令方式的 实现过程。 LS
Oracle
关 键 词 : al;高级 复 制 ; 布 式 ;同 步 ;异 步 Orc e 分
1 0 c a 1 r e高 级 复 制 技 术
复 制是 指 在 由两 个 或 者 多 个 数 据 库 系 统 构 成 的 一 个 分 布 式 数 据 库 环 境 中 拷 贝 数 据 的 过 程 。 这 个 过 程 中 , 分 布 式 数 据 库 中某 个 结 点 的 数 据 拷 贝 将 到 不 同物 理 地 点 的 数 据 库 中 , 支 持 分 布 式 应 用 , 以 它 是 整 个 分 布 式 计 算 解 决 方 案 的 一 个 重 要 组 成 部 分 : rce高 级 复 制 , 称 为 对 称 复 制 , 一 次 是 在 O al 也 第 Orce716版 本 中 出 现 , 这 之 前 的 O a l a l .. 在 rce版 本 中 , 提 供 最 基 本 的 数 据 复 制 方 法 , “ 读 快 照 ” 只 叫 只 。 随 着 O al rce版 本 的 升 级 , 据 复 制 的 功 能 、 度 以 数 速 及复 制 的 管 理 , 有 了很 大 的 改 进 和 完 善 。 目前 , 都 由 于 对 分 布 式 数 据 环 境 需 求 的 不 断 增 长 , 来 越 多 越 的 应 用 提 出 了数 据 复 制 的 需 求 ,使 O al rce的 高 级 复 制 技 术 得 到 充 分 发 挥 , 论 是 同 步 复 制 还 是 异 步 不 更 新 的 方 式 , 有 了广 泛 的应 用 。 都
端 均 可 以凭 权 限存 取 各 结 点 上 , 责全 局 管 负
理 , 现各 个局部数据库 之间的协调和存取控 制。 实
当我 们 采 用 分 布 式 数 据 库 技 术 来 设 计 一 个 分
一步步学习Oracle高级复制
=Oracle高级复制Step by Step实施起因某项目中遇到内外网数据库同步的问题,假设电信机房和某机房网络物理隔绝,需要借助中间服务器进行数据库同步,这个中间服务器既可以是数据库服务器也可以是某种中间件或者某个程序。
因为两头都是Oracle数据库,所以暂时先考虑使用数据库同步的机制来进行预研,当然仅仅是预研而已,距离实施还有一定距离,比如暂时只考虑数据库的单向同步,少量数据的双向同步采用其他方法进行。
另外一个目的是为了简化预研的难度,比如省略了发布模板(deployment template)和冲突解决方案(Conflict Resolution)。
Master site(主站点)Oracle实例为sourceMaterialized view site(中间站点)Oracle实例为midMaterialized view site Level2(目标站点)Oracle实例为dest数据流方向为source—>mid, mid—>dest网络连通为source⇔mid,mid⇔dest;source<>dest高级复制中的几个概念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)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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