반응형
-- 분산 트랜잭션 행 확인
select * from DBA_2PC_PENDING;
-- 아래의 쿼리로 행 풀기.
select 'rollback force '''||LOCAL_TRAN_ID||''';' from dba_2pc_pending;
select 'COMMIT force '''||LOCAL_TRAN_ID||''';' from dba_2pc_pending;
-- 안풀리면 서버 들어가서 아래와 같이 강제적으로 정리 COMMIT 진행 필요
exec dbms_transaction.purge_lost_db_entry('105.28.196344');
COMMIT 필수
이유. JDBC 로 붙을 경우 POOL 형식이 분산트랜잭션을 사용하게 되면 발생됨.
기본적으로 RAC 경우 2번 노드가 죽으면, 1번노드가 찾아서 Clean up 시키지만
못 찾게 되면 hang 현상에 빠지게됨
- 대부분 was 가 비정상적(oom)으로 죽을 경우 발생됨
반응형