반응형
지난 포스팅 "실시간으로 10초이상 걸리는 쿼리 확인하기" 에 이어,
이번에는 테이블 자체에 LOCK이 걸린 내역을 조회하는 쿼리이다.
※지난 포스팅은 아래 링크 참조
SELECT DISTINCT X.SESSION_ID, A.SERIAL#, D.OBJECT_NAME, A.MACHINE, A.TERMINAL,
A.PROGRAM, A.LOGON_TIME, 'ALTER SYSTEM KILL SESSION'''||A.SID||', '||A.SERIAL#||''';' AS qry
FROM GV$LOCKED_OBJECT X, GV$SESSION A, DBA_OBJECTS D
WHERE X.SESSION_ID = A.SID
AND X.OBJECT_ID = D.OBJECT_ID
ORDER BY LOGON_TIME;
마찬가지로 오라클의 Dynamic Performance View로 부터 조회하는 방식이다.
Lock 세션이 발견되어 DB서버가 과부하다 못해 죽기 직전에 쓰는 응급조치라고 할수 있겠다.
SELECT절의 가장 끝 컬럼에 "ALTER SYSTEM KILL SESSION~"을 넣어뒀으니, 복사 후 바로 사용할 수 있다.
DB에 자주 무리가 가거나, 별도의 모니터링 툴이 없으신 곳은 이전포스팅의 내용과 현재 포스팅의 내용을
잘 참조하셔서 별도의 모듈을 만들면, 굉장한 도움이 될것으로 예상된다.
다음포스팅에서도 관련된 정보 포스팅 예정!
많은 분들에게 도움되길!
※오라클만 됩니다.
반응형