Exec dbms_job.broken (23, false );
Commit;
Select t. *, t. rowid from dba_jobs t;
Select t. *, t. rowid from sys. user_jobs t;
Select job, last_date, next_date, broken, interval, failures
From user_jobs;
When a job returns an error, Oracle tries to execute it again. The first attempt is one minute later, the second attempt is two minutes later, and the third attempt is four minutes later, and so on. The cycle of each attempt is doubled until the next running time arrives, and the attempt is made again. When the attempt fails 16 times, oracle automatically marks the job as a broken and does not execute this task.
Note: When the execution cycle of a job is three minutes, and you set the parameter job_queue_interval = 600 (10 minutes), and you only have one SNP process, your JOB will be executed once every 10 minutes. If it fails 16 times, it will be marked as a broken. Because the execution cycle of your job is limited by the wake-up cycle of the SNP process. Therefore, the interval of each attempt will not multiply.
Select job, last_date, next_date, broken, interval, failures
From user_jobs;
What is the result?
Note: If the number of failed jobs in failures exceeds 15, the job is stopped.
If broken shows Y, the job is unavailable.
If the JOB fails to run 16 times, the JOB will automatically stop.