一个物化视图刷新方式是refresh force,但实际上没有创建相应的日志,只能complete刷新。单执行构成该物化视图的查询sql,用explain进行autotrace,结果是不到1秒就可以执行完。该物化视图的刷新设定是1分钟一次,但是实际运行时却需要大约10分钟才刷新一次,不知道哪些情况会造成如此结果?有没有大虾遇到过这类问题Oracle 物化视图刷新

解决方案 »

  1.   

    物化视图的COMPLETE刷新会造成大量的重做日志,这也许是造成该结果的一个重要原因。另外,SET AUTOTRACE ON EXPLAIN--只显示执行计划,但不执行语句所以,建议你执行一下构成该物化视图的查询sql,看看需要多长时间
     
      

  2.   

    HI,vanjayhsu,谢谢你的回复。
    我原文描述中写的有误,我用的是set autotrace traceonly
    我也有点怀疑是redo的问题,不过我们的oracle中有多个物化视图,只有两个会出现不按时更新的情况(都设定的是1分钟,但实际需要10分钟左右),其他的都没问题,所有的这些物化视图都是refresh force且没有挂日志的,能再帮着分析分析吗?
    谢谢
      

  3.   

    建议你执行一下构成该物化视图的查询sql,看看需要多长时间