prog:sql_lock_library_cache
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
prog:sql_lock_library_cache [2010/10/25 22:32] – gpipperr | prog:sql_lock_library_cache [2010/10/25 22:50] – gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== 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> | ||
+ | </ | ||
+ | |||
+ | 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 ' | ||
+ | </ | ||
+ | Session die die Procedure erneutern will => ABER Lock das zweite Session PL/SQL Objekt im Zugriff hat => Event ' | ||
+ | |||
+ | 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 = ' | ||
+ | /*** Beispiel ***/ | ||
+ | select | ||
+ | kglnaobj, kgllkreq | ||
+ | from | ||
+ | x$kgllk x join v$session s on | ||
+ | s.saddr = x.kgllkses; | ||
+ | </ | ||
+ | |||
prog/sql_lock_library_cache.txt · Zuletzt geändert: 2021/03/11 11:44 von gpipperr