dbms_scheduler default_timezone属性的默认值是什么(在服务器安装之后)



有人知道dbms_scheduler的default_timezone属性的默认值是什么吗?也就是说,不需要手动设置此值。

例如,在我的一个服务器上,以下语句返回值'Europe/Vienna'。

BEGIN
DBMS_SCHEDULER.get_scheduler_attribute('default_timezone', :VALUE);
END;
/

,而服务器上的/usr/bin/timedatectl返回

Local time: Do 2023-03-30 13:27:28 CEST
Universal time: Do 2023-03-30 11:27:28 UTC
RTC time: Do 2023-03-30 11:27:27
Time zone: Europe/Berlin (CEST, +0200)
NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
So 2023-03-26 01:59:59 CET
So 2023-03-26 03:00:00 CEST
Next DST change: DST ends (the clock jumps one hour backwards) at
So 2023-10-29 02:59:59 CEST
So 2023-10-29 02:00:00 CET

我在Oracle文档中没有找到任何关于这个的内容。

查看DBMS_SCHEDULER文档:

  • 日历语法不允许指定时区。相反,Scheduler从start_date参数中检索时区。如果作业必须遵循夏令时调整,则必须为start_date的时区指定一个地区名称。例如,将纽约的start_date时区指定为"US/Eastern",可确保自动应用夏令时调整。如果将start_date的时区设置为绝对偏移,例如'-5:00',则不会遵循夏令时调整,并且您的作业执行在半年中会偏离一个小时。

  • start_dateNULL时,调度器确定重复间隔的时区如下:

  1. 检查会话时区是否为地区名称。会话时区可以通过以下方式设置:

    • 发出ALTER SESSION语句,例如:

      SQL> ALTER SESSION SET time_zone = 'Asia/Shanghai';
      
    • 设置ORA_SDTZ环境变量。

  2. 如果会话时区是绝对偏移量而不是地区名称,则调度器使用DEFAULT_TIMEZONE调度器属性的值。有关详细信息,请参见SET_SCHEDULER_ATTRIBUTE步骤。

  3. 如果DEFAULT_TIMEZONE属性为NULL,则调度程序在启用作业或窗口时使用systimestamp的时区。

相关内容

最新更新