Village For DreamChasers....

블로그 이미지
by 건빵쥔곰
  • 13662Total hit
  • 1Today hit
  • 19Yesterday hit

요즘 이런저런 이유로 오라클의 LOCK 걸린 USER  나 TABLE 이 자주 발생해서 말썽이다 -ㅅ-
뭐.. 귀찮긴 하지만 이런 저런 쿼리 때리다 보면 공통적으로 사용하는 쿼리가 몇가지 발생해서
간단하게 정리~

1) Lock 걸린 유저의 해제

ALTER USER 'username' ACCOUNT UNLOCK;
-- ex) ALTER USER TIGER ACCOUNT UNLOCK;

2) LOCK 걸린 OBJECT  조사

case1) 단순 질의의 경우 locked_object 를 조사
- 현재 lock 이 걸린 모든 object 를 질의 할 수 있지만 효용성이 떨어짐

SELECT * FROM V$LOCKED_OBJECT

case2) LOCK 발생 USER, SQL, OBJECT

SELECT DISTINCT X.SESSION_ID, A.SERIAL#, D.OBJECTNAME, A.MACHINE, A.TERMINAL, A.PROGRAM, B.ADDRESS, B.PIECE, B.SQL_TXT
FROM V$LOCKED_OBJECT X, V$SESSION A, V$SQLTXT B, DBA_OBJECTS D
WHERE X.SESSION_ID = A.SID
AND A.SQL_ADDRESS = B.ADDRESS
ORDER BY B.ADDRESS, B.PIECE;

case3) LOCK 발생 사용자 확인  

SELECT DISTINCT X.SESSION_ID, A.SERIAL#, D.OBJECT_NAME, A.MACHINE, A.TERMINAL, A.PROGRAM, A.LOGON_TIME
FROM GV$LOCKED_OBEJCT X, GV$SESSION A, DBA_OBJECT D
WHERE X.SESSION_ID = A.SID
AND X.OBJECT_ID = D.OBJECT_ID
ORDER BY LOGON_TIME;

case4) 현재 접속자의 SQL 분석

SELECT DISTINCT A.SID, A.SERIAL#, A.MACHINE, A.TERMINAL, A.PROGRAM, B.ADDRESS, B.PIECE, B.SQL_TEXT

FROM V$SESSION A, V$SQLTEXT B

WHERE A.SQL_ADDRESS = B.ADDRESS

ORDER BY A.SID, A.SERIAL#, B.ADDRESS, B.PIECE;


3)  세션 킬

-- ALTER SYSTEM KILL SESSION 'SESSION_ID, SERIAL#';

ALTER SYSTEM KILL SESSION '51, 1234';



크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
TRACKBACK 0 AND COMMENT 0

ARTICLE CATEGORY

분류 전체보기 (35)
Stroy Village (6)
Daily Village (9)
Idea Village (20)

RECENT TRACKBACK

CALENDAR

«   2008/08   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

ARCHIVE