首页 / ORACLE / oracle 物化视图
oracle 物化视图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle 物化视图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2815字,纯文字阅读大概需要5分钟。
内容图文
![oracle 物化视图](/upload/InfoBanner/zyjiaocheng/488/6d5daab259d245acb1ec8f5ac9948868.jpg)
一、准备条件以及备注
假设双方数据库都是ORACLE10g,需要同步过来的表名叫:GG_ZLX_ZHU,对方数据库用户名:username,密码:password,SID:CPEES。
二、开始干活
1、首先要创建DB_LINK
CREATE DATABASE LINK to_cpees
CONNECT TO "username" identified by "password"
using "CPEES"
其中CPEES为新建的到对方数据库的TNS。执行,现在我们就已经创建了到对方数据库的DB_LINK TO_CPEES。
2、创建物化视图快速刷新日志
因为上面说过,以后视图的刷新将采用增量刷新的方式,因此,为配合增量刷新,oracle要求要在住表上建立物化视图日志。
CREATE MATERIALIZED VIEW LOG ON GG_ZLX_ZHU WITH PRIMARY KEY INCLUDING NEW VALUES;
(上面的SQL要在远程数据库上执行,不能在本地执行)
3、创建物化视图
物化视图,从名字上面来开,它应该是属于视图,但是确实物化。其物化是针对普通视图并没有真正的物理存储而言,其实可以简单的把物化视图看做一个物理表(不再做具体解释)。
CREATE MATERIALIZED VIEW GG_ZLX_ZHU --创建物化视图 BUILD IMMEDIATE --在视图编写好后创建 REFRESH FAST WITH PRIMARY KEY --根据主表主键增量刷新(FAST,增量) ON DEMAND -- 在用户需要时,由用户刷新 ENABLE QUERY REWRITE --可读写 AS SELECT * FROM GG_ZLX_ZHU@TO_CPEES; --查询语句
4、视图刷新
根据业务需要,每月不定时刷新,所以不能是JOB,而且数量多,所以也不能一个一个刷新。根据以上条件,选择使用ORACLE自带工具DBMS_MVIEW工具包中REFRESH方法对物化视图进行刷新。该方法有两个参数,第一个参数是需要刷新的物化视图名称,第二个参数是刷新方式。我们可以写存储过来,对每个物化视图调用一次REFRESH方法,也可以使用“,”把物化视图连接以来,一次刷新。如下:
CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS
BEGIN
DBMS_MVIEW.REFRESH(‘GG_ZLX_ZHU‘,‘f‘);
END P_MVIEW_REFRESH;
或者使用
CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS
BEGIN
DBMS_MVIEW.REFRESH(‘GG_ZLX_ZHU,GG_ZLX_FU‘,‘ff‘);
END P_MVIEW_REFRESH;
注意:
1、如果需要同时刷新多个物化视图,必须用逗号把各个物化视图名称连接起来,并对
每个视图都要指明刷新方式(f、增量刷新,c、完全刷新,?、强制刷新)。
2、当日志和物化视图创建好后,删除日志,则需要重新创建物化视图,否则无法增量
刷新。
3、因为上面写的物化视图时根据主键进行更新,因此,主表必须有主键。
4、以上文章中红色是为可替换的,大家可以根据自己项目需求来修改。
希望上面的内容对大家能有帮助。
忘了写删除方法了,日志和物化视图要分开删除
DROP MATERIALIZED VIEW LOG ON GG_ZLX_ZHU@TOCPEES;
DROP MATERIALIZED VIEW GG_ZLX_ZHU;
oracle 物化视图
标签:同步 mysql get acl target drop 系统 sql 需求
本文系统来源:http://www.cnblogs.com/linbo3168/p/7241405.html
内容总结
以上是互联网集市为您收集整理的oracle 物化视图全部内容,希望文章能够帮你解决oracle 物化视图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。