谁能简述一下Oracle 物化视图的集中刷新方法?
物化视图的刷新时间点有三种方式:
On demand:默认的方式,在需要刷新时进行刷新,可以选择使用job自动调用,或者手工执行DBMS_MVIEW.REFRESH(c_mv_name.mview_name,'C')脚本来完成刷新过程。
On commit:在基表上有提交操作时,进行更新。
Start with date1 next date2:指定首次刷新时间(一般指定地是当前时间,不过也可以在创建物化视图时不生成数据)。
这里oncommit 和start with next类型的物化视图的刷新都不需要用户干预,所以我理解的楼主所谓的集中刷新应该是针对on demand类型的物化视图,这种视图可以使用脚本
DBMS_MVIEW.REFRESH(mview_name,'C');进行刷新,如果你所说的集中刷新是使用形如job的方式进行批量刷新的话,可以写个procedure,用循环或者游标实现
begin
for rec in (select user.||'.'||mview_name mview_name from user_mviews)
loop
DBMS_MVIEW.REFRESH(rec.mview_name,'C');
end loop;
end;
温馨提示:内容为网友见解,仅供参考
Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答