oracle物化视图快速更新

建立测试表

create table T_table nologging as select * from dba_objects;
create table t_table_1 nologging as select * from dba_tables;

--建立日志记录

create materialized view log on T_table with rowid ,sequence(object_name,object_type,owner) including new values;
create materialized view log on t_table_1 with rowid,sequence(table_name)  including new values;

--建立物化视图

create materialized view mv_t_table nologging 
refresh fast on demand 
with rowid 
START WITH TO_DATE(‘21-08-2017 10:09:08‘, ‘DD-MM-YYYY HH24:MI:SS‘) NEXT SYSDATE + 1/(24*60) 
as select count(*),a.object_type,a.owner from T_table a,t_table_1 b  where a.object_name=b.table_name 
group by a.object_type,a.owner

--测试

select * from mv_t_table where owner=‘SYSTEM‘;
delete from t_table where owner=‘SYSTEM‘;
insert into t_table select * from dba_objects where  owner=‘SYSTEM‘;

--查看日志生成量

select a.name, b.value from v$statname a, v$mystat b where a.statistic# = b.statistic# and a.name = ‘redo size‘;

--查看刷新日志

SELECT owner,mview_name,last_refresh_scn,last_refresh_date,query,REVISION FROM dba_mview_analysis WHERE owner=‘UTF32‘;

--查看日志记录表,MLOG$为日志记录表,一旦更新完成,此表的内容会被清掉;

select * from MLOG$_T_TABLE
select * from MLOG$_T_TABLE_1;

官方说明参见:http://docs.oracle.com/cd/E11882_01/server.112/e10706/repmview.htm#REPLN265

时间: 2024-10-14 23:01:01

oracle物化视图快速更新的相关文章

oracle 物化视图

我们如果遇到需要从其它系统的数据库中取数据进行统计分析的问题,可疑选择使用ORACLE的ODI工具进行抽数,但是对方提供的数据库用户下没有任何对象,只是有查询所有表的权限,因此无法做数据反向. 于是决定使用物化视图,把对方数据库中的数据拿过来,虽然数据量比较大,但是每月只拿一次,而且如果设置成增量更新,也不会太慢.现在记录下物化视图的创建过程(以一张表为例). 一.准备条件以及备注 假设双方数据库都是ORACLE10g,需要同步过来的表名叫:GG_ZLX_ZHU,对方数据库用户名:usernam

Oracle 物化视图 说明

一.    物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化视图存储基于远程表的数据,也可以称为快照. 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果.物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能:物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性:物化视图需要占用存储

oracle物化视图创建

我们如果遇到需要从其它系统的数据库中取数据进行统计分析的问题,可疑选择使用ORACLE的ODI工具进行抽数,但是对方提供的数据库用户下没有任何对象,只是有查询所有表的权限,因此无法做数据反向. 于是决定使用物化视图,把对方数据库中的数据拿过来,虽然数据量比较大,但是每月只拿一次,而且如果设置成增量更新,也不会太慢.现在记录下物化视图的创建过程(以一张表为例). 一.准备条件以及备注 假设双方数据库都是ORACLE10g,需要同步过来的表名叫:GG_ZLX_ZHU,对方数据库用户名:usernam

oracle物化视图

原文URL: oracle 10g物化视图简介 2012-05-09 17:33:55|  分类: ORACLE性能 |  标签:oracle  物化视图  |举报|字号 订阅 下载LOFTER我的照片书  | 环境oracle 10g 10.2.0.4  linux 64 要大而专业的看oracle自己的文档-sql参考. 说实话,oracle需要学习的内容太多,每个都看过去,实在太费事. 所以如果能够对物化视图有个概览,那最方便不过. 主要涉及内容 物化视图日志,用于快速刷新所必须的 物化视

转:oracle物化视图学习笔记

最近学习了一下物化视图,正好经理不在,把学习结果贴出来供大家一起研究一下吧. 先看一下物化视图的大概含义吧,感觉baidu的定义还不错 Baidu代码   物化视图,它是用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,从而快速的得到结果.物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能:物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL 语句的正确性和有效性:物化视图需要占用存储空间:当基表发生变化时,物化视

ORACLE物化视图详解

一.物化的一般用法物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,oracle都实际上转换为视图SQL语句的查询.这样对整体查询性能的提高,并没有实质上的好处. 1.物化视图的类型ON DEMAND.ON COMMIT.二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图"需要"被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一

[O]ORACLE物化视图的使用

用于数据复制的物化视图 物化视图的一个主要功能就是用于数据的复制,Oracle推出的高级复制功能分为两个部分,多主复制和物化视图复制.而物化视图复制就是利用了物化视图的功能. 物化视图复制包含只读物化视图复制.可更新物化视图复制和可写物化视图复制. 1.只读物化视图复制建立的是源数据库的只读环境. 2.可更新物化视图复制建立基于物化视图双向复制环境. 3.可写物化视图复制在物化视图建立的时候使用了FOR UPDATE,但是没有像可更新物化视图那样添加到物化视图组中,因此本地物化视图可以修改,但是

解决oracle 物化视图刷新失败

oracle 物化视图刷新失败可能原因: 1.视图未建立物化视图日志 2.基表为授权给用户 1.物化视图语法 create materialized view [view_name] refresh [fast|complete|force] [ on [commit|demand] | start with (start_time) next (next_time) ] as {创建物化视图用的查询语句} 以上是Oracle创建物化视图(Materialized View,以下简称MV)时的常

[转载]oracle物化视图

原文URL:http://lzfhope.blog.163.com/blog/static/636399220124942523943/?suggestedreading&wumii 环境oracle 10g 10.2.0.4  linux 64 要大而专业的看oracle自己的文档-sql参考. 说实话,oracle需要学习的内容太多,每个都看过去,实在太费事. 所以如果能够对物化视图有个概览,那最方便不过. 主要涉及内容 物化视图日志,用于快速刷新所必须的 物化视图 权限,通常不是个难题,因