物化视图每晚更新

时间:2013-02-08 15:08:58

标签: oracle

想要创建每晚更新的物化视图,例如:

   Create materialized view My_View 
    refresh complete 
    start with (23:00 pm) 
    Next to 24h 
    select....

任何想法......?

2 个答案:

答案 0 :(得分:0)

CREATE MATERIALIZED VIEW my_view
   REFRESH NEXT SYSDATE + 1 + (23/24)
   AS SELECT * FROM wherever

答案 1 :(得分:0)

我个人不会使用mat视图CREATE语句(下一个子句)中内置的调度程序。主要原因(对我而言)是你不能以这种方式声明刷新非ATOMIC(至少我在CREATE时没有找到这个的语法)。根据您的刷新要求和大小,这可以节省很多时间。

此外,Oracle提供了一个非常好的调度程序,它独立于每个单独的对象,很容易看到在什么时间安排/运行的内容,进行更改,创建复杂的作业链,查看过去作业运行的日志,发送电子邮件通知等等。

我会在dbms_scheduler作业中使用 dbms_mview。refresh('MY_MATVIEW','C',atomic_refresh => false)。设置更多的工作,是的,但最终更灵活,更强大。