Query LOCK e numero sessioni Oracle
L’articolo Query LOCK e numero sessioni Oracle vi sarà di grande aiuto, sopratutto quando il gruppo applicativo è fermo per via degli errori provenienti dal database e il manager dietro le spalle che fa domande a raffica giusto per farti perdere ulteriore tempo.
In database molto acceduti, può capitare che, tra le numerose richieste che arrivano dagli application server, più sessioni insistono sulla stessa tabella o partizione.
Le numerose operazioni DML su oggetti già utilizzati da altre sessioni sono la principale causa di contese e tradotto in parole povere, attese che possono creare pericolosi colli di bottiglia.
Quindi, quando ci vengono segnalate situazioni di LOCK, dobbiamo essere pronti nell’individuare la sessioni che sta causando il blocco.
Analizzando la vista V$LOCK, richiamata dalla seguente query, abbiamo la possibilità di individuare informazioni utili per raggiungere il nostro scopo, ossia individuare con precisione la sessione che sta determinando la contesa.
Con la seguente query troverete quale sessione sta determinando i forti rallentamenti o il blocco del database in breve tempo.
Vi sarà indicato il SID che sta determinando il blocco e il numero di sessioni che sono bloccate.
Query LOCK e numero sessioni Oracle:
SELECT bs.sid BSID, count(ws.sid) as NumWait
FROM v$lock hk, v$session bs, v$lock wk, v$session ws
WHERE hk.BLOCK = 1 AND wk.TYPE(+) = hk.TYPE AND wk.id1(+) = hk.id1
AND wk.id2(+) = hk.id2 AND hk.sid = bs.sid(+)
AND wk.sid = ws.sid(+) AND bs.sid != ws.sid group by bs.sid
order by 2 desc;
Query LOCK e numero sessioni Oracle per ambienti RAC:
SELECT bs.inst_id, bs.sid BSID, count(ws.sid) as NumWait
FROM gv$lock hk, gv$session bs, gv$lock wk, gv$session ws
WHERE hk.BLOCK = 1 AND wk.TYPE(+) = hk.TYPE AND wk.id1(+) = hk.id1
AND wk.id2(+) = hk.id2 AND hk.sid = bs.sid(+)
AND wk.sid = ws.sid(+) AND bs.sid != ws.sid group by bs.inst_id, bs.sid
order by 2 desc;
- KILL sessioni UTENTE Oracle
- Query disconnect session Oracle
- Query per eseguire la disconnect di una sessione per SID
- KILL sessioni UTENTE Oracle su RAC
- Query LOCK e numero sessioni Oracle
- Query per individuare le sessioni bloccate da un’altra sessione
- Query sessioni Oracle di un utente
- Query sessioni processi transazioni cursori Oracle
- Query sessioni detentrici di LOCK
- Query sessioni Oracle recuperate dalla DATA
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
0 commenti