oracle11g怎么调度过程,oracle11g – 如何安全地安排Oracle dbms_scheduler作业时区和DST...

我正在尝试设置一个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的时区.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值