1

I want to schedule a job which should run 09:10AM and 11:45AM on every Saturday.

I am trying to create a job dbms_scheduler.create_job with following interval

,repeat_interval => 'FREQ=WEEKLY; BYDAY=THU; BYHOUR=9,11; BYMINUTE=10,45; BYSECOND=0'

but looks like its creating 4 jobs which will run every Thursday at 9 and 11 hours on 30 and 45 minutes.

Is there any way to create the job interval which will run the job on 9:10 and 11:45 on every Saturday?

Littlefoot
  • 131,892
  • 15
  • 35
  • 57
Faisal Niazi
  • 85
  • 1
  • 8

1 Answers1

4

Create two schedules.

BEGIN
  dbms_scheduler.create_schedule (
    schedule_name   => 'SCHEDULE_9', 
    repeat_interval => 'FREQ=WEEKLY; BYDAY=SAT; BYHOUR=9;  BYMINUTE=10; BYSECOND=00;');
  dbms_scheduler.create_schedule (
    schedule_name   => 'SCHEDULE_11', 
    repeat_interval => 'FREQ=WEEKLY; BYDAY=SAT; BYHOUR=11; BYMINUTE=45; BYSECOND=00;'); 
  dbms_scheduler.create_job (
    job_name        => 'MY_JOB',
    job_type        => 'STORED_PROCEDURE',
    job_action      => 'MY_PROCEDURE',
    start_date      => systimestamp,
    repeat_interval => 'SCHEDULE_9,SCHEDULE_11',
    end_date        => NULL,
    enabled         => TRUE,
    comments        => 'Job that runs at 09:10 and 11:45 every Saturday ');
END;
/
Littlefoot
  • 131,892
  • 15
  • 35
  • 57
  • Yeap,, correct,, i thought maybe there was any other option other than creating 2 diff. schedules,,, but looks like that's the only option... thanks – Faisal Niazi Aug 19 '21 at 21:11