Oracle/DB22011. 12. 8. 11:02




 글쓴이 :  제트스윙
 조회 : 687  

DB2는 "SELECT" 쿼리 실행 후에도 커밋처리해야 한다!

 

문제점

DB2에서는 관리툴(ex:퀘스트 센트롤) 또는 콘솔창(쉘모드)에서 "SELECT" 쿼리 실행후에

커밋처리를 하지 않으면 해당 테이블에 락이 걸려 다른 세션에서 조회가 불가능할수 있다.

 

※ DB2는 SELECT 쿼리에도 테이블락이 걸린다. =.=

 

문제 발생시 다른세션에서 조회후 에러코드

코드:668, 설명:reason-code(으)로 인해 테이블 table-name에서 조작이 허용되지 않습니다.

 

문제 발생시 다른세션에서 조회후 에러메시지

"자동 롤백되는 교착 상태나 시간종료가 발생했습니다."

 

해결책

DBA님께 요청

 

DBA 답변

위와 같은 경우는 자주 있는 일은 아니지만 아주 가끔 발생한다고 DBA분께서 그러시더군요.

"SELECT" 쿼리 실행후에도 커밋처리를 해야 위와 같은 에러가 발생안합니다.

 

주인장 생각

DB2는 그리 편한 DBMS가 아닌거 같네요. =.= 시도때도 없이 COMMIT 처리를 해줘야

겠습니다.

Posted by Julyus