虽然mlog正在更新,但mview没有得到更新

时间:2014-11-05 07:43:22

标签: oracle materialized-views

我是oracle sql的新手

我创建了一个像

这样的示例表
Create table tab1(
name varchar2(15) primary key,ID number
);

我已经在上面创建了mlog;

create materialized view log on tab1 with primary key;

现在我创建了mview:

Create materialized view mv1 refresh fast as select * from tab1;

现在我在tab1中插入了几个值;

insert into tab1 values('value',1);

我已经看到表tab1和mlog实际上正在更新

select * from tab1;
select * from mlog$_tab1;

这些查询显示mlog和table tab1实际上正在更新

但是当我查询时

select * from mv1;

不显示任何行。

更新

在网上寻找我必须使用commit scn including new values进行自动快速刷新的地方。

所以我将查询更改为

create materialized view log on tab1 with primary key,commit scn including new values;

当我尝试这个查询时,我发出错误说

ORA-00406: COMPATIBLE parameter needs to be 11.2.0.0.0 or greater
ORA-00722: Feature "MV log with commit scn".

所以我在创建mview时删除了commit scn并在提交时添加了快速刷新。 并承诺交易。

最终查询:

create materialized view log on tab1 with primary key including new values;
Create materialized view mv1 refresh fast on commit as select * from tab1;
insert into tab1 values('value',1);
commit;

现在每件事似乎都运转正常。 但是,有人可以指出在创建mlog时使用commit scn会出现什么问题?

谢谢..

0 个答案:

没有答案