发表于: 2005.05.07 22:31
分类: 读书笔记
出处: http://yangtingkun.itpub.net/post/468/28855
---------------------------------------------------------------
这章描述了高级复制相关的基本概念和术语。
复制是一个拷贝并维护数据库对象的过程,在多个数据库中建立分布数据库系统。在一个站点上的修改会被捕捉下来,在将修改应用到远端站点之前,这些修改会存储在本地。
复制使用分布式数据库的技术在多个站点之间共享数据,但是复制数据库和分布数据库并不相同。在分布式数据库中,数据在多个站点都是可用的,但是一张表只存储在一个物理地点。而复制意味着同样的数据存储在多个站点中。
复制提供的优点包括:
可用性:由于同样的数据存储在多个站点中,因此对数据提供了额外的保护;
性能:复制提供了快速的本地数据存储,而且多个站点可以分担负载;
离线计算:物化视图是目标表某一时刻的完整或部分拷贝。因此物化视图可以使用户在不连接到中心数据库的情况下完成工作,在合适的时间可以将物化视图与中心数据库相连,同步二者的数据;
降低网络负载:可以将中心的数据复制到各个地区的数据库中,这样地区用户就可以直接访问本地的数据库中的数据,这种方式可以显著的降低网络负载;
大规模数据部署:利用高级复制中的部署模板可以快速的部署数据环境。
复制对象:在分布数据库中多个服务器中存在的数据对象。当一个站点的复制对象发生修改,会被拷贝到其他的复制数据库中。复制对象包括:表、索引、视图和对象视图、包和包体、过程和函数、用户定义对象和对象体、触发器、同义词、索引类型和用户定义操作。
复制组:在复制环境中,Oracle使用复制组来管理复制对象。通过复制组可以方便的同时管理复制组中的多个复制对象。复制组中的对象可以来自多个方案,而一个方案中也可以包含多个复制组中的对象,但是一个复制对象只能属于一个复制组。
复制站点:一个复制组可以存在在多个复制站点中。复制环境支持两种基本类型的站点:主站点(主体站点)和物化视图站点。一个站点可以是一个复制组的主站点,也可以是另一个复制组的物化视图站点,但是一个站点不能同时是一个复制组的主站点和物化视图站点。
主站点和物化视图站点的区别:
主站点中的复制组一般叫做主体组,而物化视图站点中的复制组一般叫做物化视图组。另外,每个主体组有一个主定义站点。主定义站点是集中管理复制组和复制对象的主站点。
主站点维护复制组中的所有对象的完整拷贝,而物化视图站点可以包含复制组中的所有对象或部分对象。
多主复制环境中的所有主站点都和其他所有的主站点直接通信并不断的传播改变数据。而物化视图站点的物化视图包含基表的某个时刻的数据。物化视图会阶段性的刷新,与它的主站点进行同步。
复制环境:复制环境包括多主复制、物化视图复制和多主复制与物化视图复制混合配置三种情况。
多主复制:又叫对等复制,多主复制中的多个主站点共同管理复制对象中的复制组。
物化视图复制:可以创建只读物化视图、可更新物化视图和可写物化视图。
物化视图复制不一定需要复制全表,而是可以有选择的复制部分行或部分列。
物化视图的刷新包括三种类型:快速刷新、完全刷新和强制刷新。
刷新组:如果物化视图之前的事务一致性十分重要,则可以将这些物化视图放到一个刷新组中。通过刷新刷新组,可以保证刷新组中的物化视图的事务一致性对应到相同的时间点。
物化视图日志:物化视图日志用来记录所有对主体表或主体物化视图的修改。
部署模板:部署模板用来简化部署和维护远端物化视图站点的工作。
异步多主复制和可更新物化视图复制存在数据冲突的可能性,即在一次同步周期之内,在两个站点同时更新/插入/删除了同一条记录。Oracle提供了多种复制方案来解决复制冲突。
多主复制还支持同步复制和过程复制。











