본문 바로가기
Oracle/운영

v$locked_object - 락걸린 세션 확인

by 취미툰 2021. 1. 7.
반응형

락걸린 세션에 대해서 확인할 수 있는 뷰입니다.

 

쿼리 검색시 아래와 같이 나타납니다. 

SQL> select * from v$locked_object; 

XIDUSN      XIDSLOT     XIDSQN      OBJECT_ID   SESSION_ID  ORACLE_USERNAME                OS_USER_NAME                   PROCESS                  LOCKED_MODE 
----------- ----------- ----------- ----------- ----------- ------------------------------ ------------------------------ ------------------------ ----------- 
          1          16        6843       21527          29 TEST                           oracle                         11470                              3 
          1          16        6843       21526          29 TEST                           oracle                         11470                              3 
          0           0           0       21526          36 TEST                           oracle                         10433                              3 

3 rows selected. 

 

테스트를 통해 알아보겠습니다.

 

XIDUSN XIDSLOT XIDSQN에 숫자가 들어가 있는 세션이 현재 LOCK을 잡고 있는 세션이고, 번호를 부여받지 못한 세션이 후에 들어와서 기다리고 있는 세션입니다. 확인 후 세션 KILL 명령어를 통해 삭제할 수 있습니다.

 

 

ALTER SYSTEM KILL SESSION 'sid,serial#';

 

sid와 serial#은 v$session을 통해서 알 수 있습니다.

 

//(1번세션) 락걸기 전
SQL> select * from v$locked_object;

XIDUSN      XIDSLOT     XIDSQN      OBJECT_ID   SESSION_ID  ORACLE_USERNAME                OS_USER_NAME                   PROCESS                  LOCKED_MODE
----------- ----------- ----------- ----------- ----------- ------------------------------ ------------------------------ ------------------------ -----------

0 rows selected.


//(2번세션) row update
SQL>  update a set a='b';

1 row updated.


//(3번세션) 같은 row update
SQL> update a set a='c';
(계속 대기중)

//(1번세션) 확인
SQL> select * from v$locked_object; 

SQL> select * from v$locked_object;

XIDUSN      XIDSLOT     XIDSQN      OBJECT_ID   SESSION_ID  ORACLE_USERNAME                OS_USER_NAME                   PROCESS                  LOCKED_MODE
----------- ----------- ----------- ----------- ----------- ------------------------------ ------------------------------ ------------------------ -----------
          0           0           0       24010          29 TEST                           oracle                         11470                              3
          3          27        6992       24010          36 TEST                           oracle                         10433                              3

2 rows selected.

끝.

 

반응형

댓글