2013-02-08 136 views
-1

要创建物化视图更新,每天晚上,如:物化视图,更新,每天晚上

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

任何想法...?

+0

什么问题?你不知道如何[计算正确的参数开始](http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6002.htm#i2119766),或者什么? – 2013-02-08 15:16:34

+0

是的,之前没有用过任何东西与甲骨文或物质化的意见。如何设置它开始23点,然后等待24小时。系统日期+几秒钟内的24小时? – kingRauk 2013-02-08 15:25:33

+0

你是否在我的评论中关注链接? – 2013-02-08 15:28:17

回答

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

谢谢保罗。周末愉快。 – kingRauk 2013-02-08 15:38:32

0

我个人不会使用内置在mat view中的调度器来查看CREATE语句(next clause)。主要原因(对我来说)是你不能以这种方式声明刷新非ATOMIC(至少我在CREATE时没有发现这个语法)。根据您的刷新要求和大小,这可以节省很多时间。另外,Oracle提供了一个非常好的调度程序,它独立于每个单独的对象,并且可以很容易地看到在什么时候计划/运行了哪些内容,进行更改,创建复杂的作业链,查看过去作业运行的日志,发送电子邮件通知等等

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