#物化视图相关操作
原创 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
```
详细请点击阅读原文: