数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

教你Oracle Advanced Replication


发布日期:2024年03月18日
 
教你Oracle Advanced Replication

Oracle高级复制即可支持基于整个表的复制也可支持基于部分表的复制两种复制方案这两种复制方案主要是通过Oracle的两种复制机制来完成的即多主复制和可更新快照复制同时还可以将这两种复制机制结合起来以满足不断变化的业务需求

多主复制

多主复制方案支持全表在各个主节点间的对称复制允许所有主节点对主表都有更新操作的权利任何一个主节点上的复制表的更新都会被传播并被直接应用到其他所有主表一个主节点出现问题不会对其他主节点之间变化的传播造成影响

多主复制采用一种称为延迟远程过程调用(deferred remote procedure calls RPCs)的机制作为主要的传播和应用变化的机制各节点之间变化的传播既可以以基于事件的方式立即传播也可以在某个特定的时间点如在网络空闲时(如晚上)传播在传播变化时如果其中的一个远端系统没有准备好传播变化的延迟远程过程调用(RPCs)就会保存在其本地队列中等到系统准备好以后再执行

可更新快照

Oracle将最早Oracle 上的只读快照机制扩展为一种允许快照可更新的对称复制机制快照更新的传播方式和如何应用到快照主节点采用了和多主复制一样的延迟远程过程调用机制

对于快照的定义既可以是包含一个主表的完全拷贝也可以是为满足基于值的选择标准的主表中行的子集快照在主节点的刷新是按照一定的时间间隔或用户单独请求进行的最后一次刷新后主表的任何变化也同样被传播并应用到快照多个快照的刷新是在一个一致的事务中完成的这就确保了数据和引用的完整性

混合配置

可以将多主复制和可更新快照复制结合在一起构成一种新的混合配置这种配置可以完成对全表或者子表的复制例如下面这种应用就是一个典型的混合配置方案一个系统具有两个位于不同地理区域的中心节点这两个不同的地理区域下面还有一些分支机构两个中心节点可以彼此看做是自己的备份节点采用多主复制方法在两个中心站点之间复制数据同时采用只读或者可更新快照复制方法在每个区域范围中的主节点之间复制全表或者子表这种配置的一个显着好处就是当其中的一个中心节点发生问题时这些快照的主节点可以被重新定义到另一个运行良好的中心节点从而提高了系统的可靠性

其他复制机制

Oracle除了前面讨论的三种复制机制以外还提供了另外两种复制机制过程级复制和同步复制

) 过程级复制这种复制方案主要应用在存在大量数据更新以及采取批处理方式操作数据时需要复制数据的情况例如下面这个应用一个以年为单位管理客户订单的公司对于老的订单数据不再需要在线保存而需要卸载到某存储介质中这时如果在多个节点间复制每一独立的行级变化效率将是非常低的对于这种情况可以直接在每个复制节点执行一个过程来直接进行这种更新操作Oracle高级复制提供的分布式模式管理功能(将在下面详细讨论)可以非常方便地在多个节点上设置和维护过程级复制的远程过程

) 同步复制一个采用同步复制方案的表发生变化时Oracle会确保这种变化能够成功地作用在本地表和其他节点的复制表如果失败则整个事务会被成功回滚同步复制在网络的稳定性比较高的情况下是可行的可以保证复制节点之间的复制数据一直保持同步

上一篇:Oracle存储过程返回数组的方法

下一篇:入门基础-Oracle常用脚本备忘