我使用这个子句创建一个物化视图。
CREATE MATERIALIZED VIEW mvName
REFRESH FAST
START WITH TO_DATE('01-APR-2016 12:19:00','dd-mon-yyyy hh24:mi:ss')
NEXT SYSDATE+1/1440 as ....;使用此脚本,将不会创建物化视图。但是,如果我使用刷新完成,那么它将创建物化视图。
oracle中还有一条注释:如果您指定快速刷新,那么创建语句将失败,除非物化视图主表已经存在物化视图日志。Oracle数据库在发生直接路径插入时自动创建直接加载程序日志.不需要用户干预。
我也不确定我遇到的问题是否是因为我不完全理解的这个注释(具体来说,这个问题:除非物化视图主表已经存在物化视图日志,否则CREATE语句就会失败)。
发布于 2016-04-01 06:56:58
快速刷新选项允许我们通过仅应用上次刷新后的增量来同步物化视图及其底层表。诀窍是Oracle需要知道增量是什么。
因此,我们需要在基础源表上创建物化视图日志。而且,正如错误消息所表明的,除非SELECT子句中的所有表都有这样的日志,否则我们不能使用快速刷新选项创建物化视图。了解更多信息。
我们不需要带有完全刷新选项的物化视图的日志,因为每次都会查询整个表。
发布于 2016-04-01 07:00:54
create materialized view log on xx_test_tab;
CREATE MATERIALIZED VIEW mvName
REFRESH FAST
START WITH TO_DATE('01-APR-2016 12:19:00','dd-mon-yyyy hh24:mi:ss')
NEXT SYSDATE+1/1440 as select * from xx_test_tab;https://stackoverflow.com/questions/36348085
复制相似问题