Query sessioni detentrici di LOCK

Pubblicato da Patrizia Gardis il

Con l’articolo Query sessioni detentrici di LOCK, riusciamo ad individuare la sessione che blocca l’accesso ad altre sessioni sullo oggetto conteso.

Abbiamo già discusso nei precedenti articoli riguardanti le contese nel database Oracle: Query LOCK e numero sessioni Oracle e …

La principale causa di contese all’interno del database Oracle riguarda le numerose sessioni che accedono alle stesse tabelle. Queste situazioni di lock, in alcuni casi potrebbero determinare grossi colli di bottiglia tradotto in blocchi del database.

La nostra bravura stà nell’agilità e nella prontezza ad individuare qual’è la sessione che sta causando il dramma per molti utenti e di conseguenza nostri responsabili e manager.

Obbiettivo, individuare e tranquillizzare tutti facendo presente che hai trovato la causa del problema.

Prima di tutto, ci dirigiamo su scriptDBA.com, candiamo nella sezione Gestione sessioni Oracle e cerchiamo le query relative ai LOCK per individuare il prima possibile l’anomalia.

Con la seguente query, possiamo individuare il SID della sessione che sta bloccando la sessione con SID.

Query sessioni detentrici di LOCK:

select 'SID ' || l1.sid ||' is blocking ' || l2.sid blocking 
from v$lock l1, v$lock l2 
where l1.block =1 and 
      l2.request > 0 and 
      l1.id1=l2.id1 and 
      l1.id2=l2.id2;

Una volta individuata, dobbiamo fornire più dettagli possibili dei SID (Bloccante e Bloccato) al gruppo applicativo di riferimento, in modo tale da farci autorizzare ad eseguire un eventuale DISCONNECT o KILL che potrà essere effettuato con lo statement reperibile sull’articolo Query disconnect session Oracle

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

Lascia un commento

Segnaposto per l'avatar