oracle 物化视图

select * from d1 where id='33344444'
select * from dm1  where id='33344444'
drop materialized view dm1
CREATE MATERIALIZED VIEW dm1
BUILD IMMEDIATE
REFRESH COMPLETE START WITH SYSDATE
NEXT sysdate+1/24/60/2
with rowid
as
select * from d1

delete from d1 where id like '3334444%'
insert into d1 values ('333444414','515')

update d1 set Name='Ö±ÊôÒµÎñ²¿test29' where id='110127'
select id,   snaptime$$, dmltype$$ from mlog$_d1;
select sysdate , sysdate+1/24/60 from dual

exec dbms_mview.refresh('dm1')
 
 
2007年12月6日19:30:53
视图无法更新?
原因: 参数必须设置
job_queue_interval     =   10     每隔这么长时间唤醒一次job 
  job_queue_processes       =   4     后台启动这么多进程,这些进程的任务就是去唤醒job,但一个可能忙不过来,所以可能多个,每job_queue_interval     秒去检查并唤醒一次 
只是这些后台进程每10秒中去检查一次 
  看看你的这些job是否需要执行 
  
  如果不执行它就继续回去睡10秒 
  需要执行则唤醒job执行自己的任务  
zy: 我在测试时  oaracle 9i没有设置 job_queue_interval    只是设置了job_queue_processes 

(job_queue_processes  没有设置此值 害我浪费好几个小时 测试为什么不刷新)

其它:(zy:是否必须 没有验证  ? 待测试)
需要权限:GRANT CREATE MATERIALIZED VIEW,还必须直接赋予GRANT QUERY REWRITE.为实现查询重写,必须使用CBO.
  13.1 物化视图如何工作
  设置
  COMPATIBLE参数必须高于8.1.0
QUERY_REWRITE_ENABLED = TRUE
QUERY_REWRITE_INTEGRETY =
ENFORCED - 查询仅用Oracle强制与保证的约束、规则重写;
TRUSTED – 查询除用Oracle强制与保证的约束、规则,也可用用户设定的数据间的任何关系来重写;
STALE_TOLERATED – 即便Oracle知道物化视图中数据过期(与事实表等不同步),也重写查询。
  创建物化视图的用户必须具有直接赋予的GRANT QUERY REWRITE权限,不能通过角色继承。
 
REVOKE QUERY REWRITE
    FROM "AUTOCLAIMZHLH"
GRANT QUERY REWRITE TO "AUTOCLAIMZHLH" WITH ADMIN OPTION

REVOKE CREATE SNAPSHOT
    FROM "AUTOCLAIMZHLH"
GRANT CREATE SNAPSHOT TO "AUTOCLAIMZHLH" WITH ADMIN OPTION
zy验证:  job_queue_processes 必须
GRANT QUERY REWRITE TO "AUTOCLAIMZHLH"   非必须
GRANT CREATE SNAPSHOT TO "AUTOCLAIMZHLH"  非必须
QUERY_REWRITE_ENABLED = TRUE     非必须

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12548713/viewspace-45913/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12548713/viewspace-45913/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值