I “wait events” rappresentano il motivo per cui una sessione aspetta.
Una sessione ATTIVA può essere (1) nella condizione di attesa, ovvero “WAITING”, oppure (2) di lavoro, ovvero “ON CPU”. Nel primo caso, la sessione aspetta che una richiesta venga terminata prima di proseguire, nel secondo, la sessione sta consumando CPU.
Quando la sessione è nella condizione di WAITING (colonna V$SESSION.STATE), nella colonna V$SESSION.EVENT viene riportato il motivo di tale attesa.
Durante le nostre analisi dobbiamo pertanto sempre considerare la coppia “condizione in cui versa la sessione” + “motivo dell’attesa”, ovvero la coppia delle colonne “V$SESSION.STATE” + “V$SESSION.EVENT”. In caso contrario otteniamo informazioni incomplete.
Purtroppo c'è un po' di confusione. Se una sessione è in attesa, Oracle indica correttamente la condizione di "WAITING" in V$SESSION.STATE, ma se sta lavorando riporta uno dei seguenti valori
· WAITED UNKNOWN TIME
· WAITED SHORT TIME
· WAITED KNOWN TIME
In ogni caso V$SESSION.EVENT resta valorizzata.
Poiché il “wait event” è il motivo dell’attesa di una sessione, la colonna V$SESSION.EVENT ha senso se e soltanto se la sessione è nella condizione di WAITING: se questa sta consumando CPU, allora tale colonna non ha più alcun significato.
Nessun commento:
Posta un commento