加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle11g – 如何安全地安排Oracle dbms_scheduler作业时区和DS

发布时间:2020-12-12 13:15:46 所属栏目:百科 来源:网络整理
导读:我正在尝试设置一个DBMS_SCHEDULER作业,以便在每年1月1日凌晨1点在Oracle 11g上运行.如何设置其属性以确保它不会在错误的时间执行,因为时区差异或夏令时. 我花了很多时间浏览Oracle文档,但我还没有达到确定性水平. 顺便说一句,以下是我发现并考虑与该主题相
我正在尝试设置一个DBMS_SCHEDULER作业,以便在每年1月1日凌晨1点在Oracle 11g上运行.如何设置其属性以确保它不会在错误的时间执行,因为时区差异或夏令时.

我花了很多时间浏览Oracle文档,但我还没有达到确定性水平.

顺便说一句,以下是我发现并考虑与该主题相关的规则:

工作属性

start_date此属性指定计划启动此作业的第一个日期.如果start_date和repeat_interval保留为null,则作业将在计划启动后立即运行.
对于重复使用日历表达式指定重复间隔的作业,start_date用作参考日期.第一次安排作业运行是当前日期或之后的日历表达式的第一个匹配.
调度程序无法保证作业将在准确的时间执行,因为系统可能会过载,因此资源不可用.

repeat_interval此属性指定作业重复的频率.您可以使用日历或PL / SQL表达式指定重复间隔.
评估指定的表达式以确定下次运行作业的时间.如果未指定repeat_interval,则作业将仅在指定的开始日期运行一次.有关详细信息,请参阅“日历语法”.

Calendaring语法中的规则

>日历语法不允许您指定时区.
而是调度程序从start_date检索时区
论点.如果工作必须遵循夏令时调整,您必须
确保为时区指定区域名称
开始日期.例如,将start_date时区指定为
纽约的“美国/东方”将确保夏令时
自动应用调整.如果是时区
start_date设置为绝对偏移量,例如’-5:00′,
不遵循夏令时调整和您的工作执行
将在一年半的时间里休息.
>当start_date为NULL时,Scheduler将确定重复间隔的时区,如下所示:
>它将检查会话时区是否为区域名称.会话时区可以通过以下任一方式设置:
发出ALTER SESSION语句,例如:SQL>改变会话
SET time_zone =’亚洲/上海’;设置ORA_SDTZ环境
变量.
>如果会话时区是绝对偏移而不是区域名称,则调度程序将使用DEFAULT_TIMEZONE Scheduler属性的值.有关更多信息,请参阅SET_SCHEDULER_ATTRIBUTE过程.
>如果DEFAULT_TIMEZONE属性为NULL,则在启用作业或窗口时,调度程序将使用systimestamp的时区.

解决方法

我不确定这个答案是否真的通过了这个网站上的答案规则,但是在花了很多时间用谷歌搜索后我想出了以下解决方案:

start_date      => CAST(trunc(sysdate,'YEAR')+2/24 AS TIMESTAMP) at time zone 'Europe/Berlin'

我相信这是最接近最安全的解决方案,因为:

>它使用时间戳而不是日期 – 我相信它会强制在给定时区内在给定时间内真正执行作业,同时忽略DMBS_SCHEDULER default_timezone.我还发现了一些建议,说直接使用时间戳也是不安全的,只有这个演员才是安全的
>我手动选择了我需要的时区,希望它不会与本地设置发生冲突.至于我不清楚它是否真的与SESSIONTIMEZONE或DBTIMEZONE无关,是否影响正常的运行时间.
>我已经使用了一点点黑客,即使要求工作应该在午夜之后开始,我已将其设置为凌晨2点,希望即使在时区不好和夏令时不好的情况下也会被移动最大-2小时.

我对这个解决方案感到更满意,如果我完全清楚当作业实际执行的时间与服务器的本地时间,SESSIONTIMEZONE,DBTIMEZONE,start_date时区和DBMS_SCHEDULER时区有关.

我对时区规范也不满意,因为它有4个与它相关的缩写–LMT,CET,CEST,CEMT,其中CEST在我看来是完全错误的.我的目标是使用CET和夏令时(冬天!=夏天).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读