今天项目中需要创建一个多表连接的物化视图,并且两分钟刷新一次。
Oracle的ORA-02063错误解决方法
下图例:
我的refresh字句选择的刷新方式是force,这种刷新方式会先尝试用fast方式(增量刷新)刷新,不行再用complete方式(完全刷新)刷新。
但是fast方式刷新需要在基表上建立日志(这样fast-刷新方式才能有增量的依据),而我的目标表是在远端机器上(上图我已经把DBlink连接远端表的部分换成了本地的Test1和Test2表)并且不是我们的系统,不让在上面创建日志,所以我这里的force其实实际上会以complete的方式刷新了。。。
另外的的refresh字句的采用WITH PRIMARY KEY选项生成主键物化视图,也就是说物化视图是基于主表的主键,而不是ROWID(对应于ROWID子句).
下面是创建物化视图的refresh字句的语法:
[refresh [fast|complete|force]
[on demand | commit]
[start with date] [next date]
[with {primary key|rowid}]]
===========================================================
我自己又写了一个基于连接的fast的刷新方式的物化视图,,但是有错误:
看样子refresh刷新方式只能基于单表的查询,而不能基于多表的连接查询了。
相关阅读:
Oracle物化视图创建报ORA-00942错误解决
Oracle 存储过程刷新物化视图
Oracle物化视图的使用
物化视图实现 Oracle 数据库表双向同步
Oracle物化视图应用笔记