BLOG ARTICLE Transaction | 2 ARTICLE FOUND

  1. 2012.03.13 Oracle ORA-01591 오류 문제 처리
  2. 2011.06.29 SQL Server transaction 격리 수준에 대한 글 소개

오래전에 분산 트랜잭션 관련 오류가 있었을때 처리한 내용입니다. 출처가 기억이 나지 않아서... (원서였는지, 한글로된 블로그 글이었는지...)

두 개의 DB 사이에서 "Database Link"를 이용하여 쿼리를 실행하는 프로시져가 주기적으로 실행될 때, "ORA-01591" 오류가 발생했다. 이럴때의 처리방법.

SQL> SELECT LOCAL_TRAN_ID, GLOBAL_TRAN_ID, STATE, MIXED, HOST, COMMIT# FROM DBA_2PC_PENDING;

위의 쿼리로 확인 했을 때, MIXED가 'NO', STATE가 'PREPARED'일 때.

SQL> ROLLBACK FORCE 'TRANS_ID';
혹은
SQL> COMMIT FORCE 'TRANS_ID';


STATE 상태가 'FORCED ROLLBACK' 또는 'FORCED COMMIT'일 때
SQL> EXEC DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('TRANS_ID');
SQL> COMMIT;

해주고 첫 부분에 있는 쿼리로 확인.




YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


 SQL Server의 transaction 격리 수준에 대해서 정리한 문서가 있어서 소개하려한다.
SQL Server 사용자라면 한번쯤은 들어봤을 sqler.com이라는 사이트의 글이다. 직접 시험해볼 수 있게 table을 생성하는 부분 등도 포함되어 있다. 대충 읽어봤는데, 나중에 Oracle이랑 비교하면서 한번 읽어봐야겠다. 음... 시간 내서 읽어봐야 할텐데... ㅋㅋ

원문 [트랜잭션 격리 수준]

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST