生成并刷新实体化视图,且构成一个精心设计的实体化视图树(建立基础性的实体化视图,包括叠罗汉式或嵌入式实体化视图)是报表系统的重要准备工作和前提。
对实体化视图的刷新主要是为了保证现行的与底层的明细数据同步,反映数据最新的变化。
DBMS_MVIEW过程包提供的刷新操作:
提供了三种不同类型的刷新操作
- DBMS_MVIEW.REFRESH 更新一个或更多的实体化视图
- DBMS_MVIEW.REFRESH_ALL_MVIEWs 更新全部的实体化视图
- DBMS_MVIEW.REFRESH_DEPENDENT 更新全部等待的实体化视图
- 例如:
SQL> create view mview_valid_list_v as 2 select mview_name,staleness,last_refresh_type,compile_state 3 from user_mviews 4 where compile_state='valid' order by compile_state;
建立一个视图,列出所有编译/刷新无效的实体化视图
1 create view mview_none_valid_list_v as 2 select mview_name,staleness,last_refresh_type,compile_state 3 from user_mviews 4* where compile_state!='valid' order by compile_state
建立一个视图,对实体化视图的编译/刷新状态进行统计监测