I've created DBMS_SCHEDULER
job, which type is CHAIN
. Chain has 2 steps and 2 rules. Each step has PL/SQL "program" (which inserts SYSDATE
to table). First rule's condition is TRUE
. Second rule has condition checks if step 1 is completed and then runs second step. After I enabled CHAIN
and JOB
, then DBA_SCHEDULER_JOB_RUN_DETAILS
table shows SUCCEEDED
for both chain steps. Table keeping date has new values. So I would say that chain has ran successfully.
Problem here is that JOB
does not execute second time. Job is suppose to run every 5 minutes.
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'RUN_REFRESH',
job_type => 'CHAIN',
job_action => 'QUICK_REFRESH_CHAIN',
repeat_interval => 'FREQ=MINUTELY;INTERVAL=5',
start_date => SYSTIMESTAMP,
enabled => TRUE
);
END;
/
Job is also active in DBA_SCHEDULER_RUNNING_JOBS
table.
Additional info:
SELECT START_DATE, LAST_START_DATE, NEXT_RUN_DATE
FROM DBA_SCHEDULER_JOBS
WHERE job_name = 'RUN_REFRESH';
shows:
21.01.2015 12:58:18,000000000
21.01.2015 12:58:18,328107000
21.01.2015 12:58:18,000000000
Questions:
- Does
DBA_SCHEDULER_RUNNING_JOBS
show only currently running jobs instead or enabled/scheduled jobs? - Why doesn't
JOB
run second time, even thoughCHAIN
ran successfully?
RUNNING
(got from tableALL_SCHEDULER_JOBS
)