Numero massimo di JOB che possono essere eseguiti sotto Oracle

Sarà comunicato a molti che, lanciando dei Jobs, questi non venissero eseguiti. Nessuna indicazione, nessun failure, niente di niente. Quindi? che cosa causa il problema?

Semplice. Oracle imposta un numero massimo di JOB che possono essere eseguiti. Se si vuole eseguire un numero maggiore, occorre controllare un parametro:

JOB_QUEUE_PROCESSES

Eseguendo la query:

Select * from v$parameter
where name like ‘%job%’

è possibile visionare il valore impostato.

La modifica del valore viene eseguita attraverso una ALTER SYSTEM, come mostrato di seguito.

alter system set job_queue_processes=10

Potete trovare un pò di informazioni aggiuntive nel seguente link.

Una piccola annotazione. Per poter eseguire l’istruzione di Alter System, occorre che l’utenza disponga delle corrispondenti grant. Fare riferimento al seguente link per ulteriori delucidazioni

Advertisements

Come realizzare la funzione di SLEEP in PLSQL

In alcune circostanze, occorre impostare dei ritardi nella procedura che deve essere eseguita. Fino a qualche tempo fa avevo risolto attraverso un ciclo, eseguito un tot di volte, in modo da simulare un ritardo.

Consultando il prolifico sito di Ask Tom, ho scoperto che esiste una funzione che realizza il tutto. Si tratta di:

DBMS_LOCK.SLEEP(<numero di secondi>)