如何使用cron表达式在oracle中调度DB作业?
我想做一个oracle DB作业,它将每分钟运行一次并调用一个存储过程,该过程将从配置表中选择一个cron表达式,然后检查当前systimestamp是否与cron匹配,如果它与cron匹配,则将调用另一个存储过程来执行一些DB操作。如何使用cron表达式在oracle中调度DB作业?,oracle,cron,scheduler,jobs,Oracle,Cron,Scheduler,Jobs,我想做一个oracle DB作业,它将每分钟运行一次并调用一个存储过程,该过程将从配置表中选择一个cron表达式,然后检查当前systimestamp是否与cron匹配,如果它与cron匹配,则将调用另一个存储过程来执行一些DB操作。 oracle中是否有库可以解析和比较cron表达式?为什么不直接使用作业调度程序运行脚本?这看起来很复杂。dbms_调度器呢?@Osamazx说:这就是dbms_调度器的用途。为什么要重新发明轮子?@pmdba dbms_调度器频率的变化需要ddl操作,我的客户对
oracle中是否有库可以解析和比较cron表达式?为什么不直接使用作业调度程序运行脚本?这看起来很复杂。dbms_调度器呢?@Osamazx说:这就是dbms_调度器的用途。为什么要重新发明轮子?@pmdba dbms_调度器频率的变化需要ddl操作,我的客户对此不满意,但是,如果我提供了在数据库表中维护cron表达式的工具,那么他们只需要执行更新查询来更改频率。@Jack094我认为Oracle没有内置cron解释器,但是函数
DBMS\u SCHEDULER.EVALUATE\u CALENDAR\u STRING
非常接近RFC 2445的日历语法-请参见我的答案以获取示例。另一方面,如果您有权访问包DBMS\u调度程序
,您可以同样轻松地更改重复间隔-您不需要DDL来更改作业。为什么不直接使用作业调度程序来运行脚本呢?这看起来很复杂。dbms_调度器呢?@Osamazx说:这就是dbms_调度器的用途。为什么要重新发明轮子?@pmdba dbms_调度器频率的变化需要ddl操作,我的客户对此不满意,但是,如果我提供了在数据库表中维护cron表达式的工具,那么他们只需要执行更新查询来更改频率。@Jack094我认为Oracle没有内置cron解释器,但是函数DBMS\u SCHEDULER.EVALUATE\u CALENDAR\u STRING
非常接近RFC 2445的日历语法-请参见我的答案以获取示例。另一方面,如果您有权访问包DBMS\u调度器
,您可以同样轻松地更改重复间隔-您不需要DDL来更改作业。