[오라클] LOCK 확인 및 session kill 방법

[■DataBase/OO ORACLE OO]
테이블에 컬럼을 추가하려 하니 LOCK 이 걸려 추가가 되지 않았다.

LOCK정보를 확인 후 session을 kill 해주자.

=========================================================================================
출처 : 네이버 지식인
http://kin.naver.com/detail/detail.php? ··· aaad6fja
=========================================================================================

lock확인만 하려면

select *
from v$locked_object
where oracle_username = 'oracle유저명'
이러면 lock확인은 됩니다..

lock후 kill 시키려면 위의 query가지고는 kill시킬수가 없어여..

kill시키고자 하는 시리얼 번호를 알아야 하거든여..

select a.session_id as SESSION_ID,
b.serial_no as SERIAL_NO,
a.os_user_name as OS_USER_NAME,
a.oracle_username as ORACLE_USERNAME,
b.status as STATUS
from v$locked_object a, v$session b
where a.session_id = b.sid

SESSION_ID.SERIAL_NO.OS_USER_NAME..ORACLE_USERNAME.STATUS
24.........1102......Administrator.ABCDWRK.........INACTIVE...<--kill 대상
92.........4665......OPS$ABCD......OPS$ABCDUSR.....INACTIVE
92.........4665......OPS$ABCD......OPS$ABCDUSR.....INACTIVE

'.' 는 걍 쓰면 밀려서 안미리게 하려구 집어넣은겁니다..신경쓰지마시고여...

여기서 나온 결과를 가지고 원하는것을 kill시키면 됩니다..

kill sql문 : alter system kill session 'SESSION_ID,SERIAL_NO'

alter system kill session '24,1102'

이러면 삭제가 됩니다..
크리에이티브 커먼즈 라이센스
Creative Commons License

이 글의 트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다

::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::

  1. ㄷㄳ [2012/01/18 14:03]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    serial_no는 없는 컬럼이다 잘좀알고해라

  2. 다크호스 [2012/01/18 15:27]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    없는 컬럼이네 고맙다.
    난 딴 방법으로 해서 몰랐네.

  3. 예진아빠 [2012/02/15 20:05]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    해외 출장와서 급하게 처리하려고 하다 LOCK걸려서 고생 중이였는데 덕분에 잘 처리되었습니다.
    Serial_No ==> Serial# 으로 하니 되네요.
    고생해서 올려주시는 분께 험한 말씀은 좀...
    암튼 감사했습니다.

  4. 다크호스 [2012/02/17 10:47]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    네 감사합니다.
    실무에서 겪은 자료를 많이 올려야 서로 도움들이 될텐데
    고생 많으십니다.