问题描述
嗨,团队,
数据库版本-Oracle 12.1.0.2.0
我在DBMS_JOB中安排了一个每45分钟运行一次的作业。我想要一个条件-如果当前时间介于上午4点EST-上午8点EST之间,那么这项工作就不应该开始。
我想看看DBMS_JOB中是否有任何选项,而不是在代码中进行此检查。
请帮帮我。
谢谢
问候,
马丹·S。
数据库版本-Oracle 12.1.0.2.0
我在DBMS_JOB中安排了一个每45分钟运行一次的作业。我想要一个条件-如果当前时间介于上午4点EST-上午8点EST之间,那么这项工作就不应该开始。
我想看看DBMS_JOB中是否有任何选项,而不是在代码中进行此检查。
请帮帮我。
谢谢
问候,
马丹·S。
专家解答
DBMS_JOB只是运行一个PL/SQL匿名块,同样,运行一个函数来确定下一个日期。所以你可以这样做:
a)
--
-如果开始时间在04到08之间,则不执行任何操作
--
dbms_job.submit(...,什么 =>q'{begin如果to_char(sysdate,'hh24') 不在 '04' 和 '08' 之间,则my_proc; end if; end;');
或者类似的东西
b)
--
-如果我在上午0315点之后结束,则上午8点进行下一次运行,否则距离现在只有45分钟
--
提交 (什么 =>'我的 _ proc;',
next_date =>q' {to_char(sysdate,'hh24mi')> '0315 '然后trunc(sysdate) 8/24其他sysdate 0.75/24 end}' 的情况;
a)
--
-如果开始时间在04到08之间,则不执行任何操作
--
dbms_job.submit(...,什么 =>q'{begin如果to_char(sysdate,'hh24') 不在 '04' 和 '08' 之间,则my_proc; end if; end;');
或者类似的东西
b)
--
-如果我在上午0315点之后结束,则上午8点进行下一次运行,否则距离现在只有45分钟
--
提交 (什么 =>'我的 _ proc;',
next_date =>q' {to_char(sysdate,'hh24mi')> '0315 '然后trunc(sysdate) 8/24其他sysdate 0.75/24 end}' 的情况;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1306次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
786次阅读
2025-03-17 11:33:53
Oracle+Deepseek+Dify 实现数据库数据实时分析
bicewow
712次阅读
2025-03-06 09:41:49
【ORACLE】ORACLE19C在19.13版本前的一个严重BUG-24761824
DarkAthena
572次阅读
2025-03-04 14:33:31
Oracle避坑指南|同名表导出难题:如何精准排除指定用户下的表?
szrsu
536次阅读
2025-03-05 00:42:34
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
461次阅读
2025-03-13 14:38:19
Ogg23ai高手必看-MySQL Innodb Cluster跟oracle的亲密接触
曹海峰
456次阅读
2025-03-04 21:56:13
【ORACLE】char类型和sql优化器发生的“错误”反应
DarkAthena
407次阅读
2025-03-04 23:05:01
Oracle 如何修改 db_unique_name?强迫症福音!
Lucifer三思而后行
348次阅读
2025-03-12 21:27:56
Oracle DataGuard高可用性解决方案详解
孙莹
309次阅读
2025-03-26 23:27:33