其实我也用物化视图试了,但是却发现不能对远程的表物化,我想使用on commit参数,但是不行。create materialized view mv_userinfo refresh fast on commit with primary key as select t1.userid,t1.username,t1.sex,t1.birthday,t1.phone from userinfo@test160 t1 就是这个代码有问题,不能创建,提示“ora-12054无法为实体化视图设置 on commit”。 网上有人说“on commit的一个前提就是物化视图和基表必须处于一个数据库中”。我还正在进一步的测试中
但你要考虑到网速等客观原因,否则不堪重负。
http://cnibm.javaeye.com/blog/468957
refresh fast
on commit
with primary key
as
select t1.userid,t1.username,t1.sex,t1.birthday,t1.phone from userinfo@test160 t1
就是这个代码有问题,不能创建,提示“ora-12054无法为实体化视图设置 on commit”。
网上有人说“on commit的一个前提就是物化视图和基表必须处于一个数据库中”。我还正在进一步的测试中
楼主要求的实时,怎么说? 每天、每小时、每分钟?
实时就是当源数据发生变化之后,目标数据也马上发生变化。 这样的话建议做Dlink 然后用触发器,这样就是速度会很慢
大致的实现方案:先在远程的数据库表上面建触发器,在本地有和远程一模一样的表,这样就可以把数据实时的同步到本地,然后在本地的2张表上又抽取出了一个物化视图,然后在物化视图上面又建了触发器触发另一张表的数据。
就是这样实现的。