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 at run time, Oracle will try to execute it again, the first attempt is after a minute, the second is after 2 minutes, the third is 4 minutes later, and so on. The cycle of each attempt doubles until the next run time comes and tries again, and when an attempt fails 16 times, Oracle automatically marks the job as broken and no longer performs this task.
Note: When the execution cycle of a job is performed 3 minutes and you set the parameter job_queue_interval=600 (10 minutes), and you have only one SNP process, your job will be executed in 10 minutes with a failure of 16 times and will be labeled as broken. Because the execution cycle of your job is limited by the wake cycle of the SNP process. Then the time interval of each attempt is multiplied and does not appear.
Select Job, Last_date, next_date, broken, interval, failures
From User_jobs;
See what the results are?
Note that if the job fails in the failures, the job stops if it is more than 15 times.
Broken shows Y, the job is not available
is 16 times run unsuccessfully, the job will automatically stop.