MATERIALIZED VIEW LOG表"MLOG$_基表"内容被删除
当基于该基表的所有物化视图(一个或多个)都在基表发生DML后做完刷新后,"MLOG$_基表"的内容会被清楚:
1、创建一个测试用的表T
create table t (a int, b varchar2(50), constraint pk_t primary key(a));
2、创建对应的MV名为MVT
create materialized view mvt as select * from t;
3、往表里面插入一些个数据
insert into t select rownum, object_name from all_objects;
commit;
4、下面对mview做一次刷新看看
exec dbms_mview.refresh('mvt');
5、现在能看到mv里面已经有数据了
select count(*) from mvt;
6、现在表T上面创建MView Log
create materialized view log on t;
7、对表T数据进行一些修改
update t set b='test1' where a=1093;
8、查看日志表内容:
9、接下来就是进行快速刷新了
exec dbms_mview.refresh('mvt', 'F');
做刷新时报错ORA-12034: "SCOTT"."T" 上的实体化视图日志比上次刷新后的内容新
将物化视图DROP后重建即可
10、再次查询MLOG$_T
select * from mlog$_t;
发现结果集为空。