【问题标题】:Oracle DB Job SchedulerOracle 数据库作业调度程序
【发布时间】:2014-10-02 06:31:43
【问题描述】:

我想创建一个计划作业,该作业将在每个月的第一天进行。

以下是我每月第一天手动运行的作业:

his_proc_mduniverse.md_proc_universe(v_date1, v_date2)

例子:

his_proc_mduniverse.md_proc_universe('01-JAN-2014' , '31-JAN-2014')

鉴于我需要填写每个月的开始日期和结束日期,我该如何通过作业计划来实现呢?

【问题讨论】:

    标签: sql oracle10g oracle-sqldeveloper job-scheduling


    【解决方案1】:

    您可以为此任务创建 Job:

    BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
       job_name        => 'my_new_job1',
       job_type        => 'plsql_block',
       job_action      => 'BEGIN his_proc_mduniverse.md_proc_universe(TRUNC(SYSDATE, ''month''), TRUNC(LAST_DAY(SYSDATE))); END;',
       repeat_interval => 'FREQ=MONTHLY;BYMONTHDAY=1',
       enabled         => TRUE,
       auto_drop       => FALSE,
       comments        => 'every 1st day of the month');
    END;
    /
    

    编辑:要在指定时间(例如凌晨 5 点)运行,请将 repeat_interval 更改为:

    repeat_interval => 'FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=5;BYMINUTE=0;BYSECOND=0',
    

    文档:

    【讨论】:

    • 嗨,谢谢。不过,我有几个问题。所以你是说这会工作一整年?另外,我可以在哪里设置它在每个月的第一天早上 5 点运行?
    • 这一直有效,直到您放弃或禁用作业。另请参阅修改后的答案如何在每个月的第一天早上 5 点运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多