오라클 디비를 사용하다 보면 분명 프로그램 이상이겠지..
꼭 데이터베이스에 lock이 걸려 서버가 다운되거나... 미친듯이 오래 걸린다던가..
암튼 이만저만 짜증이 난다.. 중요한건.. 토드 같은 오라클 툴이 없으면.. 이거 LOCK걸렸을 때 쿼리 기억 안나면 미친다..
그래서 정리 해 봤다.. 힌트를 줘서 사용하니 조금 빠르군..
사용하는 계정으로 오라클을 로그인 하여 아래의 쿼리를 실행한다.
SELECT /*+ ordered */
a.sid SID,
to_char(b.serial#) SEQ,
id1 ID1,
to_char(b.audsid) AUD,
b.username Uname,
b.osuser OsUser,
c.sql_text SQLSTMT
FROM v$lock a ,
v$session b,
v$sql c
WHERE a.type = 'TM'
AND a.sid = b.sid
AND c.hash_value (+) = b.sql_hash_value;
제일 처음 나오는 a.sid는 Session ID이고 두번째의 b.serial# 는 Serial번호이다.
이 둘을 이용하여 해당작업을 강제 종료시킬 수 있다.
Alter System Kill session 'Sid,Serial#';
위에서 나온 첫째 필드값 -----^ ^----------두번째 필드값
물론 앞 두개의 컬럼 이외에 나머지는 그냥 정보로써 사용하면 된다...
kill하고 나면 사용하고 있는 데이타가 제대로 rollback이 되었는지 확인 해주는 센스....
'IT reference > OS,DB' 카테고리의 다른 글
오라클 tablespace 위치 (0) | 2008.10.02 |
---|---|
WINDOWS XP 표준시간대(Time Zones)에서 서울 이외의 것들 살리기 (0) | 2008.09.30 |
윈도우 XP 자동 로그인 해제 (1) | 2008.09.18 |
열어본 페이지 목록 삭제 처리 하기 (0) | 2008.09.11 |
리눅스 방화벽 설정 - iptables (3) | 2008.09.09 |
WRITTEN BY