dbms_ijob remove JOB Oracle

.

Con l’articolo dbms_ijob remove JOB Oracle, forniamo uno statement che permette di rimuovere definitivamente un JOB dal database Oracle.

Il dbms_ijob è un package nascosto che viene richiamato dal package dbms_job. Questo permette la creazione, cancellazione o la messa in broken di un JOB Oracle ossia fermare la schedulazione del JOB impostando in maniera esplicita lo stato di Broken.

Inoltre la funzione principale del package dbms_ijob, permette la modifica di un JOB con il proprietario un altro utente.

Ossia se entro con l’utente SYS, posso utilizzare il comando dbms_ijob.remove per rimuovere un JOB dell’utente per esempio PIPPO.

Quindi la cancellazione avviene attraverso il package di sistema dbms_ijob con l’opzione remove.

Inoltre il package dbms_ijob a differenza del package dbms_job, permette di rimuovere il JOB che appartiene ad un altro utente.

Rimozione del JOB con il comando dbms_ijob remove JOB Oracle :

exec dbms_ijob.remove(&JOB);

Inoltre, per verificare lo stato se in broken o no, il numero di fallimenti, gli orari della precedente e della successiva esecuzione e il dettaglio di ciò che fa il JOB va interrogata la vista DBA_JOBS con la query reperibile nell’articolo Query JOB Oracle status.

Per visionare le mie guide sui Comandi CRS clicca qui!
A questo LINK, invece, troverai le query SQL

Resta aggiornato sulle nostre attività entrando a far parte della nostra community:
Facebook
Youtube
Linkedin

DBMS_IJOB BROKEN FALSE

.

Con l’articolo DBMS_IJOB BROKEN FALSE, forniamo uno statement che permette di abilitare un JOB di un altro utente dallo stato di BROKEN. Ossia lo riabilitiamo con la schedulazione programmata in fase di creazione.

Quando un JOB schedulato nel database Oracle incontra un fallimento, viene rieseguito dopo 1 minuto.
Se fallisce viene eseguito dopo 2 minuti.
Se rifallisce viene di nuovo eseguito dopo 4 minuti e cosi via, fino ad arrivare al sedicesimo tentativo.

Questo permette la fine di questo ciclo e mette il JOB nello stato di BROKEN.

Con l’articolo DBMS_IJOB Broken abbiamo impostato in maniera esplicità lo stato di BROKEN di un JOB con il parametro TRUE.

Invece in questo caso riabilitiamo il JOB, sempre in maniera esplicità con lo stesso package, ma a differenza di prima, invece di lanciare con il parametro TRUE lo lanceremo con il parametro FALSE.

Nel seguente articolo forniamo lo statement per abilitare un JOB dallo stato di BROKEN.

Rimozione del JOB dallo stato di BROKEN con i parametri DBMS_IJOB BROKEN FALSE:

exec dbms_ijob.broken (&JOB,FALSE);

Per visionare le mie guide sui Comandi CRS clicca qui!
A questo LINK, invece, troverai le query SQL

Resta aggiornato sulle nostre attività entrando a far parte della nostra community:
Facebook
Youtube
Linkedin

DBMS_IJOB BROKEN

.

Con l’articolo DBMS_IJOB BROKEN, forniamo uno statement che permette di bloccare la normale schedulazione di un determinato JOB.

Quando un JOB schedulato nel database Oracle incontra un fallimento, il JOB viene rieseguito dopo 1 minuto. Se rifallisce, viene eseguito dopo 2 minuti. Se fallisce di nuovo viene di nuovo eseguito dopo 4 minuti e cosi via, fino ad arrivare al sedicesimo tentativo, il quale termina questo ciclo e mette il JOB nello stato di BROKEN.

Può capitare che per qualche motivo che vada bloccata la schedulazione di un determinato JOB Oracle o su richiesta del cliente, o per una particolare attività

Quindi abbiamo 2 possibilità. O impostiamo il JOB in broken con il package DBMS_IJOB BROKEN, oppure se i JOB sono tanti, possiamo impostare il parametro JOB_QUEUE_PROCESSES a 0 in modo tale da disabilitare la partenza automatica dei JOB.
Questo parametro può essere modificato a caldo ed eseguito come segue:

alter systems set job_queue_processes=0 scope=both;

Invece, nel caso in cui dobbiamo disabilitare lo start di un singolo JOB, nell'articolo forniamo uno DBMS_IJOB Broken, vi permetterà di bloccare la normale schedulazione di un JOB.

Inoltre il package dbms_ijob a differenza del package dbms_job, permette di rimuovere il JOB che appartiene ad un altro utente.

exec dbms_ijob.broken (&JOB,TRUE);

Per visionare le mie guide sui Comandi CRS clicca qui!
A questo LINK, invece, troverai le query SQL

Resta aggiornato sulle nostre attività entrando a far parte della nostra community:
Facebook
Youtube
Linkedin

Query JOB Running

.

Nell’articolo Query JOB Running, forniamo una query che permette di identificare i JOB in esecuzione di tutti gli utenti del database.

La vista che permette l’accesso alle informazioni dei JOB Running è la tabella DBA_JOBS_RUNNING, da cui è possibile reperire molte informazioni utili tra cui il numero il SID della sessione associata, il numero del JOB in esecuzione, orario di inizio, ultima esecuzione, prossima esecuzione, il dettaglio del JOB più l’istanza in cui sta girando nel caso in cui fosse un ambiente RAC.

Quindi se dobbiamo approfondire l’analisi, attraverso il SID possiamo reperire informazioni utili relativa alla sessione generata grazie alla query nell’articolo Query sessioni SID Oracle.

Una volta recuperate le informazioni di orario di LOGON, SCHEMA di riferimento ecc., abbiamo la possibilità di verificare quale statement sta girando attraverso SQL_ID, reperibile dalla query precedente attraverso lo statement nell’articolo Query per estrarre statement da un SQL_ID successivo EXPLAIN PLAIN dello statement

Quindi se vogliamo approfondire l’analisi abbiamo le giuste query per analizzare la sessione.

Query per controllare i JOB Running:

select /*+ rule */ * from dba_jobs_running;

Per visionare le mie guide sui Comandi CRS clicca qui!
A questo LINK, invece, troverai le query SQL

Resta aggiornato sulle nostre attività entrando a far parte della nostra community:
Facebook
Youtube
Linkedin

Query JOB Oracle status

.

Con l’articolo Query JOB Oracle status, forniamo uno statement per individuare informazioni sui JOB schedulati nel database.

Il JOB è una schedulazione di un procedura, di un package PL/SQL o di una semplice istruzione che viene programmata per partire in un determinato giorno e orario in cui vogliamo eseguire il software.

Quindi, se vogliamo far partire un istruzione in un determinato momento dobbiamo programmare un JOB nello scheduler Oracle.

Una volta che il JOB è programmato lui partirà ogni volta che viene richiesto.

Nel caso in cui il JOB dovesse fallire, viene rieseguito in maniera automatica di default per 16 volte, fino ad arrivare allo stato di BROKEN ossia che viene interrotta la schedulazione per via dei troppi fallimenti.

Quindi per verificare lo stato di un JOB, forniamo la query in fondo alla pagina.

Selezioniamo il numero del JOB, l’utente con cui è stato schedulato e l’utente proprietario.

Inoltre selezioniamo la data e l’orario dell’ultima e della prossima esecuzione.

Infine selezioniamo il numero di fallimenti, lo stato di BROKEN e il codice o la procedura schedulata.

Quindi recuperiamo le informazioni alla vista DBA_JOBS
e i filtriamo i record per numero di JOB.

Query JOB Oracle status:

set lines 200 pages 999
col log_user format a15
col priv_user format a15
col schema_user format a15
col last_run format a15
col next_run format a15
col what format a60
col fails format 999
select job
, log_user
, priv_user
, schema_user
, to_char(last_date, 'hh24:mi dd/mm/yy') last_run
, to_char(next_date, 'hh24:mi dd/mm/yy') next_run
, failures fails
, broken
, substr(what, 1, 60) what
from dba_jobs
where job=&job
order by 4;

Per visionare le mie guide sui Comandi CRS clicca qui!
A questo LINK, invece, troverai le query SQL.

Resta aggiornato sulle nostre attività entrando a far parte della nostra community:
Facebook
Youtube
Linkedin

Per qualsiasi dubbio non esitate a commentare l’articolo.

Wordpress Social Share Plugin powered by Ultimatelysocial