oracle高级复制与物化视图的选型.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle高级复制与物化视图的选型

高级复制与物化视图的选型 一、????? 同步技术的选型 ? (一)???????????? 高级复制(Advanced Replication) 首先,从总部业务系统的业务需求出发,业务系统只需要对只读的数据进行同步和查询。 ? Oracle高级复制,也成为对称复制,分为多主体复制、物化试图复制和前两种的混合复制(参考图1-1,图1-2)。高级复制主要是用在对称的、等同的数据库表之间的(单向或双向)的复制,以满足分布式应用的需求。但高级复制也有一些缺点: 1.???????? 对网络的稳定性和传输速度要求比较高。 2.???????? 配置和管理稍微麻烦。 ? 图1-1???? Multimaster Replication ? ? ? 图1-2???? Read-Only Materialized View Replication ? 下面是高级复制中的 物化视图架构的创建步骤: 1、检查系统初始化参数 ?????? global_names 为 TRUE 以及job_queue_processes大于0。 2、检查全局数据库名称 ?????? 上述三个站点的db_domain名称应该相同,只有db_name不同。 3、修改上述三个站点中的tnsnames.ora文件 4、建立主体站点 ?????? 建立复制管理用户repadmin;建立主体组和实体化视图组; ?????? 注册传播用户; ?????? 建立物化视图站点复制管理用户的代理用户; ? 5、设置物化视图站点1 ?????? 建立物化视图管理用户mvadmin; ?????? 注册传播用户; ? 6、设置物化视图站点2 ?????? 建立物化视图管理用户mvadmin; ?????? 注册传播用户; ? 7、建立主体组 ?????? 创建复制组,并将复制对象添加到复制组; ?????? 生成复制支持; ? 8、建立物化视图日志 ?????? 建立物化视图日志(主站点); ?????? 建立物化视图; ?????? 将物化视图和相关索引添加到物化视图组; ?????? 将物化视图添加到刷新组; ? 对于高级复制中的多主环境和可更新的物化视图环境而言,它的原理是使用Oracle的Internal Trigger捕获DML及DDL操作,并将这些操作封装在Remote Procedure Calls(RPCs)里,并借助Deferred Transaction Queue来传递RPCs并在目标数据库利用Internal Trigger执行传递过来的RPCs从而实现了数据的同步。 如果仅仅是高级复制环境中的只读物化视图环境,那么Oracle这里并不会使用Deferred Transaction Queue来传递RPCs,而是直接利用解析物化视图日志的方式来实现数据的同步。 ? (二)???????????? 物化视图(MATERIALIZED VIEW) ? 1.???????? 物化视图的种类: 物化视图,根据不同的着重点可以有不同的分类 1)??????? 按刷新方式分:FAST/COMPLETE/FORCE 2)??????? 按刷新时间的不同:ON DEMAND/ON COMMIT 3)??????? 按是否可更新:UPDATABLE/READ ONLY 4)??????? 按是否支持查询重写:ENABLE QUERY REWRITE/DISABLE QUERY REWRITE ? 物化视图有三种刷新方式:COMPLETE、FAST和FORCE。 ? 1)??????? 完全刷新(COMPLETE)会删除表中所有的记录(如果是单表刷新,可能会采用TRUNCATE的方式),然后根据物化视图中查询语句的定义重新生成物化视图。 2)??????? 快速刷新(FAST)采用增量刷新的机制,只将自上次刷新以后对基表进行的所有操作刷新到物化视图中去。 3)??????? 采用FORCE方式,Oracle会自动判断是否满足快速刷新的条件,如果满足则进行快速刷新,否则进行完全刷新。 ? 设置REFRESH ON COMMIT的物化视图不能访问远端对象。 Oracle物化视图的快速刷新机制是通过物化视图日志完成的。Oracle如何通过一个物化视图日志还可以支持多个物化视图的快速刷新。 ? 还可以使用以下语句进行手动刷新: exec DBMS_MVIEW.REFRESH(aics_t_dv); ? 1、完全刷新 exec dbms_mview.refresh(list = aics_t_dv,method = c); ? 2、快速刷新 exec dbms_mview.refresh(list = aics_t_dv,method = f); ? 2.???????? 对物化视

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档