程序中需要应用到其他应用中的业务数据,需要远程访问。在创建了DBlink以后,经常报出ora-24757duplicate
transaction
identifier的异常,请教了不少高手都说不知道怎么解决,网上查了一下说是网络不稳定的原因,具体的我也不知道什么原因,或者存在版本不统一的原因,异常不是每次都报,但是只要出现了就头大,过一会儿就好了,总不能跟客户说您访问的时辰不对吧!所以就考虑同步到本地,但是又要创建那么多的表太麻烦了,想到了物化视图这个高大上的东东。
物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。
1、物化视图的类型:ON DEMAND、ON
COMMIT
二者的区别在于刷新方法的不同,ON
DEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ON
COMMIT是说,一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。
2、Refresh选项说明:
a.
oracle用刷新方法在物化视图中刷新数据.
b.
是基于主键还是基于rowid的物化视图
c.
物化视图的刷新时间和间隔刷新时间
Re