[ 오라클 DB 세션 KILL 시키는 방법 ]
alter system kill session SID,SERIAL#;
. SID, SERIAL# 은 아래를 참조하여 찾는다
- system계정으로 로그인
Select *
From v$locked_object ; -- ⓐ
Select *
From v$session
Where sid = '94' ; -- ⓐ 에서 조회 한 sid를 조건에 넣어 serial#를 찾는다
=> 세션중 해당 TABLE에 대한 LOCK은 해제가 안되어서
재작업이 안되는 경우가 있을 경우 다음과 같이 조치 한다
1) alter 명령으로 KILL 됐는지 확인
select sid, serial#, status, server
from v$session
where status = KILLED;
2) 해당 session의 sid가 lock이 있는지 확인
select * --sid 확인
from v$lock
where type = 'TX'
and lmode > 0;
3) lock이 있을 경우 OS의 process id 확인
select p.spid "OS Thread", s.osuser, s.program, s.sid, s.SERIAL#
from v$process p, v$session s
where p.addr = s.paddr
and s.sid = :SID ;
4) 해당 OS의 process id 확인 후 process종료
kill -9 p.spid(os의 프로세스 id)