Job was not run every minute while manual run (with dbms_job.run) was successful.
Job_queue_process was 10 and _job_queue_inteval was 5 which means scheduler checks job for execution every 5 seconds.
Eventually found that background process cjq0 was the culprit.This background process is responsible for running scheduled job.It does initiate J00 processes for executing scheduled jobs.
This background process was hung, as the result it does not initiate any J00 process which means job was not run every minutes.
- Kill cjq0 process from OS
- alter system set job_queue_process=0;
- alter system set job_queue_process=10;
- Should fork new cjq0 process and all J00 process for running jobs.