• Oracle Scheduler中日期表达式和PLSQL表达式的区别


    参考文档:

    Database Administrator’s Guide

    29.4.5.4 Differences Between PL/SQL Expression and Calendaring Syntax Behavior

    There are important differences in behavior between a calendaring expression and PL/SQL repeat interval.

    These differences include the following:

    • Start date

      • Using the calendaring syntax, the start date is a reference date only. Therefore, the schedule is valid as of this date. It does not mean that the job will start on the start date.

      • Using a PL/SQL expression, the start date represents the actual time that the job will start executing for the first time.

    • Next run time

      • Using the calendaring syntax, the next time the job runs is fixed.

      • Using the PL/SQL expression, the next time the job runs depends on the actual start time of the current job run.

      As an example of the difference, for a job that is scheduled to start at 2:00 PM and repeat every 2 hours, but actually starts at 2:10:

      • If calendaring syntax specified the repeat interval, then it would repeat at 4, 6 and so on.

      • If a PL/SQL expression is used, then the job would repeat at 4:10, and if the next job actually started at 4:11, then the subsequent run would be at 6:11.

    To illustrate these two points, consider a situation where you have a start date of 15-July-2003 1:45:00 and you want it to repeat every two hours. A calendar expression of "FREQ=HOURLY; INTERVAL=2; BYMINUTE=0;" will generate the following schedule:

    1. TUE 15-JUL-2003 03:00:00
    2. TUE 15-JUL-2003 05:00:00
    3. TUE 15-JUL-2003 07:00:00
    4. TUE 15-JUL-2003 09:00:00
    5. TUE 15-JUL-2003 11:00:00
    6. ...

    Note that the calendar expression repeats every two hours on the hour.

    A PL/SQL expression of "SYSTIMESTAMP + interval '2' hour", however, might have a run time of the following:

    1. TUE 15-JUL-2003 01:45:00
    2. TUE 15-JUL-2003 03:45:05
    3. TUE 15-JUL-2003 05:45:09
    4. TUE 15-JUL-2003 07:45:14
    5. TUE 15-JUL-2003 09:45:20
    6. ...

    Parent topic: Setting the Repeat Interval

    29.4.5.5 Repeat Intervals and Daylight Savings

    For repeating jobs, the next time a job is scheduled to run is stored in a timestamp with time zone column.

    • Using the calendaring syntax, the time zone is retrieved from start_date. For more information on what happens when start_date is not specified, see Oracle Database PL/SQL Packages and Types Reference.

    • Using PL/SQL repeat intervals, the time zone is part of the timestamp that the PL/SQL expression returns.

    In both cases, it is important to use region names. For example, use "Europe/Istanbul", instead of absolute time zone offsets such as "+2:00". The Scheduler follows daylight savings adjustments that apply to that region only when a time zone is specified as a region name.

  • 相关阅读:
    RV-GAN:使用新的多尺度生成对抗网络分割眼底照片中的视网膜血管结构
    vue3封装Axios库的 API 请求并使用拦截器来处理请求和响应
    MISRA 2012学习笔记(5)-Rules 8.10
    Treap 学习笔记
    什么是TCP/IP协议?
    MySQL基础(2)
    力扣2379.得到k个黑块的最少涂色次数
    Spring-介绍
    【JavaEE初阶】 JavaScript基础语法——贰
    在线图片托管服务imgur
  • 原文地址:https://blog.csdn.net/xxzhaobb/article/details/132606549