오라클 테이블 락 확인 및 해제 lock(9i)
— 테이블에 lock을 발생시킨 user를 찾을 경우가 많습니다.
— 특히 OPS(RAC on 9i) system에서는 더더욱 그런 경우가 많구요.
— 제가 관리하던 시스템에서 자주 썼던 sql입니다.
— 기타 많은 유사한 sql로 있습니다만 한번 써 보시길 바랍니다.
/* 락발생 사용자와 sql, object 조회 */
select distinct x.session_id, a.serial#,d.object_name,a.machine,a.terminal,a.program,b.address,b.piece, b.sql_text
from v$locked_object x, v$session a, v$sqltext b, dba_objects d
where x.session_id = a.sid
and x.object_id = d.object_id
and a.sql_address = b.address
–and a.terminal = ”
order by b.address,b.piece;
/* 락 발생 사용자확인 */
select distinct x.session_id, a.serial#,d.object_name,a.machine,a.terminal,a.program, a.logon_time
–select ‘alter system kill session ”’ || a.sid || ‘,’ || a.serial# || ”’;’
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;
;
/* 현재 접속자의 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;
/* 접속 사용자 제거 */
–alter system kill session ‘session_id,serial#’;
alter system kill session ‘51,1111;
[출처] [본문스크랩] 오라클 테이블 락 확인 및 해제 lock(9i)|작성자 아는남자
최신 댓글