http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
공지사항  
뉴스  
질문과 답변
DBA
Developer
Cluster
토크박스  
이벤트  
서포트 티켓  
최신글
MySQL 5.7에서 프…
DB 행 증상이 주…
Maria에서 프로시…
MySQL DBA과정(4…
MySQL 5.7.19 설…
 
질문과 답변 (DBA) > 커뮤니티 존 > 질문과 답변 (DBA)
Maria에서 프로시져 실행 시 트랜잭션 잠금 특성 문제로 롤백되는 현상
글쓴이 : 진히   날짜 : 17-10-30 12:35   조회수 : 166
< 환경 >
- MariaDB Version : 10.2.7
- 같은 구성의 DB를 mysqld_multi로 띄운 상태
  (mysqld_multi로 띄우기전엔 문제되지 않아 이부분이 의심되기도 합니다.)
- 실행 SP 내용 중 아래 형태 내용이 포함되어 있습니다.
   SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
           ......
   START TRANSACTION;
           ......

SP 실행 시 처리가 되지 않고 아래 에러가 발생하면서 롤백이 되네요..
혹시 비슷한 경험을 하신분 조언 부탁드립니다.
에러 번호 : 1568
에러 설명 : Transaction characteristics can't be changed while a transaction is in progres
royster
해당 session 에서 SET AUTOCOMMIT = 0;
즉 자동커밋 상태를 false 로 지정 했겠죠

SET AUTOCOMMIT = 0;
START TRANSACTION;
  Query 문
COMMIT;
진히
별도의 SET AUTOCOMMIT = 0; 옵션은 사용하지 않았습니다.

DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
                ........
END;

  SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

START TRANSACTION;
                  ...........
COMMIT;

위 형태처럼 명시적으로 트랜잭션을 시작하고 커밋하였습니다.

트랜잭션 잠금 설정 부분에 SET AUTOCOMMIT = 1; 설정을 추가해야 할까요??
서버 설정에서 확인해봤을때는 autocommit 이 ON 으로 설정되어 있습니다.
이전글 DB 행 증상이 주기적으로 발생합니다.ㅠ 
다음글 MySQL DBA과정(4일) 문의 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
ⓒ 2010-2011 ssebiz All Rights Reserved.