ITPub博客

首页 > 数据库 > Oracle > 物化视图LOG的内容变化实验

物化视图LOG的内容变化实验

原创 Oracle 作者:nathanzhn 时间:2014-09-22 16:45:46 0 删除 编辑
实验一:
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;
发现结果集为空。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26521853/viewspace-1277245/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-23

  • 博文量
    49
  • 访问量
    263515