[Oracle物化视图.docxVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[Oracle物化视图

一、概述 Oracle提供两种不同的复制方法:多主复制和物化视图复制。还可以通过两种复制的组合构成混合复制。 本文主要描述物化视图复制,由于物化视图复制中的主站点就是多主复制中的站点,因此也会对相应的多主复制中涉及到的内容作相应的说明。 二、物化视图的概念和体系结构 Oracle的物化视图主要用在两个方面:高级复制和数据仓库。在高级复制环境中,物化视图用于复制数据到非主体站点。在数据仓库环境中,物化视图用于对代价昂贵的查询进行缓存。 1.物化视图是什么 物化视图是主体对象在某一时间点上的复制品。这个主体对象即可以是主体站点上的一个主表,也可以是物化视图站点上的一个主物化视图。在多主复制中,一个站点上的表被其他主体站点连续不断的更新,而物化视图则是从一个主体站点或主物化视图站点批量的进行更新。 当物化视图进行快速刷新时,Oracle会检查主表或主物化视图自上次刷新以来的所有改变,并将其应用到物化视图上。因此,如果主体对象自上次刷新以来存在一些改变,则刷新操作则会花费一定的时间把这些改变应用到物化视图上。如果自上次刷新以来没有发生任何变化,则物化视图刷新操作会迅速的完成。 2.为什么使用物化视图 你可以使用物化视图来完成以下目标: 减轻网络负载; 创建一个Mass Deployment环境;  数据子集; 离线部署。 (1)减轻网络负载: 你可以通过物化视图将数据分布到许多站点,所有用户不需要再访问一个数据库服务器,负载被分散到多个数据库服务器上。和多主复制不同的是,你可以根据需要,只复制表中的一部分字段或者表中的一部分数据,从而降低了每次复制的数据量。 多主复制也可以分布网络负载,但与物化视图相比它对网络的要求要严格得多。由于多主复制各个站点间采用的是网状连接,每个站点和其他所有的站点都有通信,而且多主复制一般用于提供实时或接近实时的复制,这会导致很高的网络流量,对于网络状况要求比较严格。 物化视图采用高效的批量更新方式,从一个主体站点或一个主物化视图站点获得更新。和多主复制的连续通信不一样,物化视图复制只需要周期性的刷新,从而对网络的要求大大降低。 (2)创建Mass Deployment环境: 展开模板允许你在本地预先建立物化视图环境。你可以利用展开模板快速简便的展开物化视图环境。你可以不用修改展开模板,而是利用参数来建立不同用户的客户化数据集。 (3)数据子集: 物化视图允许你的复制建立在列或者行的基础上,而多主复制需要复制整张表。通过使用Data subsetting,对于每个站点你可以仅复制满足本站点需要的数据。 (4)离线部署: 物化视图不需要专用网络连接。你可以利用job的调度机制完成物化视图的定时自动刷新,你也可以在需要的时候手工刷新物化视图。而这第二种方法是在笔记本上运行应用程序的一种理想解决方案。 3.物化视图的分类 物化视图分为只读、可更新和可写三类。不能对只读物化视图进行DML操作,对于可更新和可写物化视图则可以进行DML操作。 注意:对于只读、可更新和可写物化视图,定义物化视图的查询语句必须包含主体对象中的所有主键列。 (1)只读物化视图 在建立物化视图时,省略FOR UPDATE语句建立只读物化视图。除了不需要属于一个物化视图组之外,只读物化视图的许多机制都和可更新物化视图相同。 使用只读物化视图可以消除在主体站点或者主物化视图站点上由物化视图引入的数据冲突,这个优点的代价是只读物化视图不能进行dml操作。 注意:使用只读物化视图只能消除由物化视图站点引入的冲突,并不意味着使用只读物化视图就不会由冲突产生,后面会举例详细说明。 (2)可更新物化视图 在建立物化视图时,指明FOR UPDATE语句建立可更新物化视图。为了可更新物化视图的修改在刷新时可以被“推回”主体对象,可更新物化视图必须属于一个物化视图组。 由于可更新物化视图允许数据的修改,因此可以降低主体站点的负载。 注意: 1.不要在建立可更新物化视图时使用列的别名,否则,在将物化视图加入到物化视图组的时候会发生错误。 2.主表或主物化视图列上的默认值不会自动应用到可更新物化视图上。 3.可更新物化视图不支持DELETE CASCADE操作。 (3)可写物化视图 可写物化视图指出FOR UPDATE语句,但是没有加入到物化视图组。用户可以对可写物化视图执行DML操作,但是在执行刷新操作时,修改不会被“推回”,因此所有的修改在刷新后全部丢失。所有允许只读物化视图的情况也同样允许可写物化视图。 由于可写物化视图很少使用,因此以后大部分内容都只涉及只读物化视图和可更新物化视图。 4.物化视图可用性 Oracle提供几种不同类型的物化视图,以满足各种复制环境的需要。 介绍下列物化视图以及它们使用的环境: 主键物化视图; 对象物化视图; ROWID物化视图

文档评论(0)

shit0605 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档