| « 1z0-007 Introduction to Oracle 9i | Masowa zmiana definicji kolumn tekstowych - BYTE na CHAR » |
Jak znaleźć lock i ubić sesję ?
Perspektywy Oracle dostarczają tak różnych informacji o instancji, że poniższe zapytanie można traktować jedynie przykładowo. Jeżeli informacje przez nie dostarczone nie są wystarczające dla zidentyfikowania kłopotliwej (lockującej) sesji najlepiej podejrzeć pełną zawaerość użytych widoków i dodać brakujące kolumny do zapytania.
Przykład zwraca nazwę obieku na którym jest lock, SID sesji oraz numer seryjny sesji.
select dba_obj.object_name, sess.sid, sess.serial# from v$locked_object lo, v$session sess,dba_objects dba_obj where lo.object_id = dba_obj.object_id and sess.sid = lo.session_id;
Mając już potrzebne informacje możemy bezpośrednio z poziomu np. sqlplus ubić sesję podając SID i SERIAL zwrócone z powyższego zapytania.
ALTER SYSTEM KILL SESSION 'SID,SERIAL#' IMMEDIATE;