Translation

The oldest posts, are written in Italian. If you are interested and you want read the post in English, please use Google Translator. You can find it on the right side. If the translation is wrong, please email me: I'll try to translate for you.

mercoledì, gennaio 13, 2016

Wait Event: Introduzione (1 di 3)


Un processo oracle può lavorare o non lavorare. Nel primo caso diciamo che il processo è ATTIVO, nel secondo è INATTIVO. Oracle registra questa informazione in V$SESSION.SATUS del dizionario dati (i valori sono ovviamente immagazzinati in inglese: ACTIVE e INACTIVE, rispettivamente).

Durante le normali attività quotidiane, normalmente siamo impegnati in un lavoro che assorbe tutte le nostre energie, e spesso, in un modo o nell’altro dobbiamo interrompere quello che stiamo facendo per poi riprenderlo in un secondo momento.

I processi Oracle si comportano in modo simile. Quelli che lavorano, quelli di tipo “ACTIVE”, consumano CPU ma se non possono farlo, allora devono aspettare.

Ogni processo Oracle tiene traccia del proprio del proprio lavoro (consumo di CPU). Quando un processo Oracle non può consumare CPU, allora ci avvisa. Da punto di vista di Oracle, noi chiamiamo questo avviso, "tempo di attesa" o “Wait Time” e, quando l’attesa termina, il processo riprende a consumare CPU. Ogni processo Oracle raccoglie quindi statistiche sul proprio consumo di CPU.

Le attese, dette anche “eventi di attesa” sono raccolti in categorie o classi. Queste possiamo raggrupparle macroscopicamente in due. Di tipo:
* Idle
* not Idle (nutte le altre classi)

La differenza consiste nel fatto che il primo tipo non ha impatto sulle prestazioni (in inglese “performace”) mentre il secondo ha diretta influenza sull'esperienza dell'utente. Le sessioni NON ATTIVE hanno sempre attese di tipo “not idle”.

Esiste una vista di sistema che elenca tutte le classi: V$SYSTEM_WAIT_CLASS. La colonna che riporta il nome della classe è WAIT_CLASS.

Nessun commento: