当前位置:  数据库>oracle

Oracle物化视图增量刷新测试

    来源: 互联网  发布时间:2017-06-25

    本文导语: 说明:物化视图刷新方式有三种:全量刷新、增量刷新和强制刷新,三种刷新方式具体如下: 全量刷新(complete):不管使用哪种刷新方式,物化视图的首次刷新都使用全量刷新的方式。全量刷新机制是首先物化视图对应表中的...

说明:物化视图刷新方式有三种:全量刷新、增量刷新和强制刷新,三种刷新方式具体如下:

全量刷新(complete):不管使用哪种刷新方式,物化视图的首次刷新都使用全量刷新的方式。全量刷新机制是首先物化视图对应表中的数据采用delete全部删除,然后再从原表中使用insert把数据重新插入。

增量刷新(fast):增量刷新是基于主表上的物化视图日志(MLOG$_tablename)进行刷新的,主表上每插入或删除一条数据,对应物化视图日志中同样会插入一条数据(主表更新一条数据,对应物化视图中会插入两条记录数据),

物化视图刷新后主表上物化视图日志记录信息会被清空,重新开始记录后面的更新。

强制刷新(force):当物化视图满足增量刷新的条件时使用增量刷新,否则使用全量刷新。

增量刷新测试:

1、数据库eisoo上使用u01用户创建主表
create table t1(id int,name varchar2(20));
 alter table t1 add constraints pk_t1 primary key(id);
 create sequence t1_seq increment by 1 start with 1 minvalue 1 maxvalue 9999999999999 nocache order;

 create or replace procedure insert_to_t1 as
 begin
  insert into t1 values (t1_seq.Nextval,'abc');
  commit;
 end;
 /

 declare
  job number;
 begin
  dbms_job.submit(job,'insert_to_t1;',sysdate,'sysdate+1');
 end;
 /

 create materialized view log on u01.t1 with primary key including new values;


 2、数据库wqwq上使用u01用户创建物化视图,采用增量刷新定时同步主表U01.t1数据

create materialized view u01.t1 refresh fast on demand with primary key as select * from u01.t1@wqwq_to_eisoo;  --wqwq_to_eisoo是wqwq数据库到eisoo数据库的dblink

创建物化视图自动刷新的job
 declare
 job_id number;
 begin
  DBMS_JOB.submit(
    job =>job_id,
    what => 'begin
        dbms_mview.refresh(''U01.T1'',''F'');
          end;',
    next_date => sysdate,
    interval => 'sysdate + 1/144');
  COMMIT;
 end;
 /

 3、验证物化视图刷新
SQL> select MVIEW_NAME,to_char(LAST_REFRESH_DATE,'yyyy-MM-dd HH24:mi:ss'),LAST_REFRESH_TYPE,FAST_REFRESHABLE from user_mviews;  --物化视图在15:45:34时刷新一次

MVIEW_NAME              TO_CHAR(LAST_REFRES LAST_REF FAST_REFRESHABLE
 ------------------------------ ------------------- -------- ------------------
 T1                  2016-09-30 15:45:34 FAST    DIRLOAD_DML


 SQL> select * from MLOG$_T1 order by id;    --主表物化视图日志记录信息

    ID SNAPTIME$$          D O CHANGE_VECTOR$$              XID$$
 ---------- ------------------- - - ------------------------------ ----------
        228 4000/01/01 00:00:00 I N FE                  1.9704E+15
        229 4000/01/01 00:00:00 I N FE                  8.4456E+14
        230 4000/01/01 00:00:00 I N FE                  2.8148E+15
        231 4000/01/01 00:00:00 I N FE                  5.6308E+14
        232 4000/01/01 00:00:00 I N FE                  8.4454E+14
        233 4000/01/01 00:00:00 I N FE                  2.8149E+15
        234 4000/01/01 00:00:00 I N FE                  1.4075E+15

 7 rows selected.

SQL> select MVIEW_NAME,to_char(LAST_REFRESH_DATE,'yyyy-MM-dd HH24:mi:ss'),LAST_REFRESH_TYPE,FAST_REFRESHABLE from user_mviews;    --物化视图在15:55:34时再次刷新一次

MVIEW_NAME              TO_CHAR(LAST_REFRES LAST_REF FAST_REFRESHABLE
 ------------------------------ ------------------- -------- ------------------
 T1                  2016-09-30 15:55:34 FAST    DIRLOAD_DML

 SQL> select * from MLOG$_T1 order by id;    --物化视图刷新后立刻查看主表物化视图日志信息,已经被清空

no rows selected


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle 视图权限 oracle 创建视图权限不足
  • 用Oracle动态性能视图采集查询调优数
  • 在Oracle中向视图中插入数据的方法
  • Hibernate,Oracle视图中字段小数点位数使用注意
  • Oracle查询表、视图、序列等信息查询
  • oracle中的视图详解
  • Oracle中的概念:同义词、序列与视图
  • Oracle数据库视图与权限问题
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 网间Oracle的连接,远程连接Oracle服务器?? iis7站长之家
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3