

select decode(status,'INACTIVE',username || ' ' || sid || ',' || serial#,'lock') as Holder,
decode(status,'ACTIVE', username || ' ' || sid || ',' || serial#,'lock') as waiter, sid, serial#, status
from( select level as le, NVL(s.username,'(oracle)') AS username,
s.osuser,
s.sid,
s.serial#,
s.lockwait,
s.module,
s.machine,
s.status,
s.program,
to_char(s.logon_TIME, 'DD-MON-YYYY HH24:MI:SS') as logon_time
from v$session s
where level>1
or EXISTS( select 1
from v$session
where blocking_session = s.sid)
CONNECT by PRIOR s.sid = s.blocking_session
START WITH s.blocking_session is null );
-- ์์ ์ฝ๋๋ก holder ๋ฒํธ๋ฅผ ์ฐพ์์ kill ์ํด
alter system kill session '253,9738' immediate;

๐ก ์ค๋ผํด์ ๋ฝ(lock)์ ๊ธฐ๋ณธ์ ์ผ๋ก UPDATE ๋ฅผ ํ๊ฒ ๋๋ฉด ํ๋จ์(row level)๋ก ๊ฑธ๋ฆผ
ํ ์ด๋ธ ๋ ๋ฒจ๋ก ๋ฝ์ ๊ฑธ์ง X