#物化视图相关操作 原创 2017-11-24 Oracle 宅必备 ## 1. 查看物化视图相关信息: ### 1.1 查看物化视图日志 ``` select * from dba_mview_logs ; ``` ### 1.2 查看物化视图信息 ``` SELECT * FROM dba_MVIEWS; ``` [image:39 size:orig] ###1.3 查看物化视图上次刷新时间 ``` SELECT * FROM dba_MVIEW_REFRESH_TIMES; ``` [image:40 size:orig] ## 2. 新建物化视图: ### 2.1 确认主表大小 ``` select segment_name,segment_type,bytes/1024/1024 MB from dba_segments where lower(segment_name)='fwcatns_boatmap'; ``` ### 2.2 确认主表是否已有物化视图日志 ``` select * from dba_mview_logs where lower(master)='fwcatns_pdd_rdstrip' ; ``` ### 2.3 确认主表索引情况 物化视图不会自动创建原表索引,我们这里先记录其索引信息 ### 2.4 创建物化视图日志(主表) ``` create materialized view log on SAPSR3.ZTMM0117 with rowid; ``` ###2.5 创建物化视图 ``` create materialized view SAPSR3.ZTMM0057 tablespace sapsr3 refresh fast on demand with rowid start with sysdate next SYSDATE + 10/1440 enable query rewrite as select * from SAPSR3.ZTMM0057@SAPPROD; ``` ### 2.5 创建索引 这里创建在 2.2 中获取的索引,如果需要的话 ## 3. 删除物化视图: ###3.1 删除主表物化视图日志 ``` DROP MATERIALIZED VIEW LOG ON SAPSR3.GG_ZLX_ZHU; ``` ### 3.2 删除物化视图 ``` DROP MATERIALIZED VIEW SAPSR3.GG_ZLX_ZHU; ``` ## 4. 手动刷新物化视图 ``` EXEC DBMS_MVIEW.Refresh('SPCR.DDM_CUST','C'); EXEC DBMS_MVIEW.Refresh('SPCR.DDM_CUST','F'); exec dbms_ijob.run(4) ``` ##5. 重新编译物化视图 ``` ALTER MATERIALIZED VIEW mview_name COMPILE; ``` ##6. 更改刷新时间 ``` alter materialized view sapsr3.inob refresh start with sysdate next sysdate+10/1440 ``` 详细请点击阅读原文: