ORA-02049 : 시간초과 : 분산 트랜잭션이 잠금으로 대기중입니다.

위와 같은 메시지가 뜬다면 테이블이 락이 걸려서 TOAD의 사용이 막힌 경우 테이블의 락을 풀어줘야 하는데, 보통은 SYSTEM 계정으로 접근하여 문제가 있는 트랜잭션을 찾는다.

--Transaction 찾는 쿼리
SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME
FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C
WHERE A.SID=B.SID
AND B.ID1=C.OBJECT_ID
AND B.TYPE='TM'
--AND C.OBJECT_NAME IN ('IFRS_VAL_ACCT') --특정 테이블에서 tx 찾을때 사용
;

찾은후 해당 SID와 SERIAL# 값으로 아래를 실행하여 아래와 같은 쿼리를 실행하면
테이블의 락이 해제된다.

--session kill하는 쿼리  
--alter system kill session 'SID, SERIAL#'
alter system kill session '365,41540';

하지만, 테이블 락을 해제 쿼리를 입력하여도 ORA-00031 : session marked for kill 의 메시지가 나오는 경우가 있다. 직접적으로 아래의 쿼리를 이용하여 oracle 계정으로 시스템에 접근하여 프로세스를 kill 하는 방법이 있다.
( 어떤 세션이 매우 긴 트랜잭션을 수행하다가 강제로 kill이 되게 되면, 우선은 해당 트랜잭션이 사용하던 rollback segment가 회수되게 됩니다. 이때, 그 사이즈가 크면 클 수록 롤백되는 시간이 길어지는데요. 그 동안은 어쨋든 세션은 유지되어야 하는거죠.kill marking만 되구요. 이 때에도 해당 롤백세그먼트는 사용될 수 있습니다. )

SELECT VS.SID, VS.USERNAME, VS.OSUSER,
            VS.PROCESS FG_PID,VP.SPID BG_PID
FROM V$SESSION VS, V$PROCESS VP
WHERE VS.PADDR = VP.ADDR;

위의 쿼리를 실행하여, PID(ProcessID)를 확인후 오라클 계정으로 시스템에 접근하여, kill 명령어를 이용하여 해당 프로세스를 종료한다.

$ kill -9 pid

물론 앞서 메시지가 나오고 방금 kill 이 안되는 경우에도 어느정도 시간을 갖고 기다리면 rollback segment의 수치가 점점 작아져 결국 테이블 락이 해제가 된다.


올해는 소리 소문없이 눈이 많이 내린다.
작년에는 그렇게 한번에 눈이 많이 오더니..


자고 일어 났더니 또 이렇게 눈이 많이 내렸다...
온 세상이 하얂다..
저번에 내렸던 눈도 아직 녹지 않았는데..
그위에 또 이렇게 내리네...
올 겨울은 날씨도 많이 추워서 녹을 생각을 안한다..
그래서 눈이 더 많이 온다고 생각이 드는건지...
녹지는 않고 쌓이기만 한다. ㅋㅋ


아침부터 눈이 내렸다고 신났다..
머.. 난 차도 없고.. 괜찮다.. ㅋㅋㅋㅋ

'Story > Diary' 카테고리의 다른 글

펑펑 눈이 내리는 날!  (0) 2011.01.11
털복숭이 ㅋㅋ  (2) 2011.01.09
석류  (0) 2010.12.28
첫 크리스마스~  (0) 2010.12.24
딸기 크림치즈 타르트  (0) 2010.12.19

어릴 때 먹고 먹어보지 못한 석류인 듯하다.
오늘 일현님이 홈플러스에 점심 때 가서 쇼핑~을 하시고 나서.. ㅋㅋㅋ
사온건데 나도 한조각.. ㅋㅋ
간만에 먹었더니.. 새콤달콤 맛있게 하나씩 때서 먹었다..
아껴먹어야지~ ㅋㅋ
이거두 비싸던데... ㅋㅋ

'Story > Diary' 카테고리의 다른 글

털복숭이 ㅋㅋ  (2) 2011.01.09
이번 겨울에 눈이 많이 내리네~  (0) 2010.12.28
첫 크리스마스~  (0) 2010.12.24
딸기 크림치즈 타르트  (0) 2010.12.19
[Movie] 소셜 네트워크  (0) 2010.12.05


머.. 둘이 만나고 첫 크리스마스구나..
이거 원.. 결혼을 번개불에 했으니.. ㅋㅋ
둘이서 맞는 첫 크리스마스가 결혼하고 나서의 첫 크리스마스라니... ㅋㅋ

이런날 어디 나가고.. 하면 또 전쟁일테니..
그냥 집에서.. 머.. 사실 둘만 같이 있으면 되지..
크게 장소나 그런건 상관없음..
결혼하고 나니 이런 장점은 있구만. ㅋㅋ
머 둘다 그닥 먹는거에 욕심이 있는거도 아니고.. ㅋㅋ

그래도 오늘은 칼질을 좀 해야지 싶어서.. 스태키만.. 하나 구워서.. 와인에 먹음. ㅋㅋㅋ

'Story > Diary' 카테고리의 다른 글

이번 겨울에 눈이 많이 내리네~  (0) 2010.12.28
석류  (0) 2010.12.28
딸기 크림치즈 타르트  (0) 2010.12.19
[Movie] 소셜 네트워크  (0) 2010.12.05
남자도 한번씩은 해야지~  (0) 2010.12.05

+ Recent posts