반응형

# 전체 세션 보기 쿼리

SQL> SELECT B.SPID, A.*

  2  FROM V$SESSION A, V$PROCESS B

  3  WHERE A.PADDR = B.ADDR;



# 특정 계정의 세션 검색 - 프로세스아이디(SPID)

SQL> SELECT B.SPID

  2  FROM V$SESSION A, V$PROCESS B

  3  WHERE A.PADDR = B.ADDR

  4  AND A.USERNAME = 'SUNSHINY';

 

SPID

------------

23596

23624

 

--  해당 오라클 계정을 사용하는 유저 정보 포함

SQL> SELECT A.SID, A.USER#, A.OSUSER, B.SPID

  2    FROM V$SESSION A, V$PROCESS B

  3    WHERE A.PADDR = B.ADDR

  4    AND A.USERNAME = 'SUNSHINY';

 

       SID      USER# OSUSER      SPID

---------- ---------- ----------------------------------

       140         57    testPC01      27584

       139         57    testPC01      27586

       148         57    testPC02      3384

       149         57    testPC02      3303

       132         57    testPC02      3305

       136         57    testPC02      3325

       134         57    testPC02      3394

       145         57    testPC02      3418

       147         57    testPC03      3523

       138         57    testPC03      3498

       137         57    testPC03      3500

 

11 rows selected.



# 위에서처럼 'SUNSHINY' 계정을 사용하는 프로세스아이디(SPID)가 검색됩니다.

# Unix 환경에서 해당 프로세스 사용 권한이 있는 계정으로 프로세스를 죽입니다.
명령어 : kill -9

[root@localhost ~]# kill -9 23596 23624


Wait 세션확인

SELECT NVL(a.username, '(oracle)') AS username,

       a.osuser,

       a.sid,

       a.serial#,

       d.spid AS process_id,

       a.wait_class,

       a.seconds_in_wait,

       a.state,

       a.blocking_session,

       a.blocking_session_status,

       a.module,

       TO_CHAR(a.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time

FROM   v$session a,

       v$process d

WHERE  a.paddr  = d.addr

AND    a.status = 'ACTIVE'

ORDER BY 1,2;


-- 현재 접속한 세션 보기

select username, program from v$session;


특정 세션 죽이기

select * from v$session

alter system kill session '10,3';

 

--여기서 10은 sid, 3은 serial# 값이다.



세션 강제 종료할 때 해당 세션은 더이상 sql문을 실행하는 것을 막는다.
종료 시점에 sql 실행 중이라면 모두 롤백된다. 세션에 의해 사용되던 LOCK 과 기타 자원들도 모두 해제된다.

'ORACLE > Lock' 카테고리의 다른 글

ORA-00031: session marked for kill  (0) 2020.04.27
Posted by Max-Jang
,