prog:sql_lock_library_cache
Dies ist eine alte Version des Dokuments!
library cache Lock
Code in Session 1 anlegen, in Session 2 aufrufen und in Session 1 erneut anlegen ⇒ Ein Library Cache Lock entsteht 1. Beispiel Code Endlos Schleife
create or replace procedure endless is begin loop null; end loop; end; /
2. in zweiter Session aufrufen
sqlplus>exec endless
3. Code erneut anlegen
4. Abfrage wer hat den Lock:
/** Waiter ******************/ select ss.sid , ss.username , ss.terminal , ss.program , sw.event from v$session ss , v$session_wait sw where ss.sid=sw.sid and sw.event like 'library cache %'
Session die die Procedure erneutern will ⇒ ABER Lock das zweite Session PL/SQL Objekt im Zugriff hat ⇒ Event 'library cache pin'
Session die blockiert:
— in Arbeit —-
über die x$kgllk
This table lists all held and requested library object locks for all sessions.
The column kglnaobj displays the first 80 characters of the name of the object.
kgllkreq = 0 means, the lock is held,
while kgllkreq > 0 means that the lock is requested.
/**** Suchen über die v$lock und die X$KGLLK mit Username der blockierenden Session ***/ SELECT * FROM X$KGLLK where user_name = 'GPI' and KGLLKEXC > 0 /*** Beispiel ***/ select kglnaobj, kgllkreq from x$kgllk x join v$session s on s.saddr = x.kgllkses;
prog/sql_lock_library_cache.1288039835.txt.gz · Zuletzt geändert: 2010/10/25 22:50 von gpipperr