2010. 3. 16. 20:57

[Oracle] Windows 서버에서 오라클 Thread 죽이기

동시 트랜잭션이 많이 몰려 있는 상태이거나 트랜잭션이 길다면

세션을 kill 해도 말씀하신대로 세션의 상태가 완전히 kill 되지는 않습니다.

 

 Windows는 Thread 개념으로 운영 됩니다.

즉 한개의 oracle process안에 여러개의 thread를 통하여 운영합니다.

Unix 상의 oracle process는 windows의 thread에 해당 됩니다.

1) 해당 session에 대한 THREAD ID를 찾습니다.

아래에서 spid가 thread id가 됩니다.


SELECT SPID, OSUSER, S.PROGRAM
FROM V$PROCESS P, V$SESSION S
WHERE P.ADDR = S.PADDR
and S.SID=<sid number>;


2) orakill utility를 사용하여 Thread 를 kill 합니다.

C:> orakill ORACLE_SID thread

ORACLE_SID = 대상이 되는 오라클 인스턴스
thread = kill하고 싶은 thread id

 

[펌] 데이타베이스 사랑넷