Oracle认证专家视频教程-OCP全套教程之学习笔记-MVIEW

前端之家收集整理的这篇文章主要介绍了Oracle认证专家视频教程-OCP全套教程之学习笔记-MVIEW前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

知识要点

  • mview基本概念
  • 基本语法
  • 手动刷新
  • fast+commit刷新
  • fast+start with next刷新
  • 可更新物化视图

mview基本概念

materialized view 占用自己的存储空间,物化视图,也叫快照,默认行的内容只读

基本语法

  • 创建物化视图日志
create materialized view log on tabname;要有一个主键
create materialized view log on tabname with rowid;
  • 创建物化视图
create materialized view <> refresh <刷新方式 > on <刷新时间> as select .....
  • 刷新方式
complete(完全刷新) 
fast(依赖于物化视图日志,识别哪些行发生了更改) 
force(强制刷新)
  • 刷新时间
on demand 手动刷新
on commit;事务提交就刷新
start with / next 指定刷新时间
  • 手动刷新
exec dbms_mview.refresh('mviewname','fast');
exec dbms_mview.refresh('mviewname','c');

手动刷新

sys>create user mvl identified by 123;
sys>grant connect,resource to mvl;
sys>grant select on scott.emp to mvl;
sys>grant create materialized view to mvl;
sys>grant execute on dbms_mview to mvl;

创建
  • 物化视图
mvl>create materialized view emp as select * from scott.emp;
  • 验证
scott用户做更新
scott>update emp set sal = sal -2;
scott>commit;
  • 因为创建的时候没有定义物化视图刷新方式,因此这里要手动进行刷新才能同步数据
mvl>exec dbms_mview.refresh('emp','c');
  • 可以看到已经同步
mvl>select * from empf1;

fast+commit刷新

  • fast刷新需要首先创建物化视图日志
sys>grant create materialized view  to scott;

scott>create materialized view log on emp;

sys>grant select on scott.MLOG$_EMP to mvl;
  • 授予权限
sys>grant on commit refresh on scott.emp to mvl;
  • 创建快速刷新且提交后立刻同步的物化视图
mvl>create materialized view empf1 refresh fast on commit as select * from scott.emp;
  • 验证
scott>update emp set sal = sal + 2;
scott>commit;
  • 可以看到已经同步
mvl>select * from empf1;

fast+start with next刷新

  • 创建快速刷新且一分钟后自动同步的物化视图
mvl>create materialized view empf2 refresh fast start with sysdate next sysdate+1/1440  as select * from scott.emp;
  • 验证
scott>update emp set sal = sal + 2;
scott>commit;
  • 1分钟之后可以看到已经同步
mvl>select * from empf1;

可更新物化视图

mvl>create materialized view empf3 refresh fast for update start with sysdate next sysdate+1/1440  as select * from scott.emp;
原文链接:https://www.f2er.com/oracle/208673.html

猜你在找的Oracle相关文章