Oracle
 sql >> Database >  >> RDS >> Oracle

dbms_scheduler Crea lavoro Lavoro non in esecuzione

Alcuni dei possibili motivi menzionati di seguito.job_queue_processes potrebbero essere troppo bassiPer selezionare Esegui sotto il valore di queryselect da v$parameter where name='job_queue_processes';

Quindi controlla il numero di lavori in esecuzione

select count(*) from dba_scheduler_running_jobs;
select count(*) from dba_jobs_running;

Se questo è il problema puoi aumentare il parametro usando

alter system set job_queue_processes=1000;

2) max_job_slave_processes potrebbe essere troppo basso Se questo parametro non è NULL, limita il numero di lavori dbms_scheduler che possono essere eseguiti alla volta. Per controllare w

select value from dba_scheduler_global_attribute
where attribute_name='MAX_JOB_SLAVE_PROCESSES';

Quindi controlla il numero di lavori in esecuzione

select count(*) from dba_scheduler_running_jobs;

Se questo è il problema puoi aumentare il numero o semplicemente annullarlo usando

exec dbms_scheduler.set_scheduler_attribute('max_job_slave_processes',null)

3) le sessioni potrebbero essere troppo basse

4) Verifica se lo Scheduler è stato disabilitato

select value from dba_scheduler_global_attribute where attribute_name='SCHEDULER_DISABLED'

Se questa query restituisce TRUE, puoi risolverlo utilizzandoSQL> exec dbms_scheduler.set_scheduler_attribute('scheduler_disabled','false');