编辑: 木头飞艇 | 2018-07-31 |
net 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 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 中, 然后对于 procedure 的调用将被同步, 用处在于在于有大数据量操作的时候可以减 少网络负载.