I have created a oracle dbms scheduler to execute a procedure daily at 05 AM, 10 AM, 03 PM and 08 PM. Below is the scheduler code
DBMS_SCHEDULER.CREATE_JOB
(
job_name => 'TEST_JOB'
,start_date => SYSDATE
,repeat_interval => 'FREQ=DAILY; BYHOUR=05,10,15,20; BYMINUTE=00 ;BYSECOND=0;'
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'PLSQL_BLOCK'
,enabled => TRUE
,job_action => 'BEGIN INSERT_IN_TABLE; END;'
,comments => 'TEST JOB'
);
now i have to modify the same scheduler to execute the same procedure only twice on weekends and run at same frequency on weekdays.
I don't want to create a different scheduler for the weekend executions because sometimes the procedure takes more than 5 hours to execute.
Please guide me if there is a better way to achieve this.