我有一个在 Oracle 19c 上刷新物化视图刷新组的工作。我想每天午夜刷新组 - trunc(sysdate)
?这项工作是使用以下 PL/SQL 完成的:
BEGIN
DBMS_REFRESH.MAKE (
name => 'REFG_1',
list => '',
next_date => trunc(sysdate),
interval => 'SYSDATE + 1',
implicit_destroy => FALSE,
rollback_seg => '',
push_deferred_rpc => TRUE,
refresh_after_errors => FALSE);
END;
/
MV每天都在更新。但是,它们在上午 11:26 刷新(这与我最初创建该作业的时间一致)。
如何创建此作业以确保它在每晚午夜刷新?
间隔应该是
trunc(sysdate)+1
指明天的午夜。您
next_date
将被评估到今天(过去)午夜,因此第一次刷新将尽快发生。您可能希望这也是明天午夜当上一个作业完成时,评估您的作业的下一个执行时间(
SYSDATE+1
在您的情况下)。因此,它将越来越多地转移。如果您有更多自由,可以使用
TRUNC(SYSDATE)+1
或更改为现代调度程序作业。