• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 1. Stored Program 제한
    2. 조건 처리 제한
    3. 서버 측 커서 제한
    4. 서브 쿼리 제약
    5. View 제약
    6. XA 트랜잭션 제약
    7. Character Set 제약
    8. 성능 스키마 제약
    9. 플러그 인증 제한
    10. MySQL 제한
  • 28. MySQL 5.7 새로운 기능

27.6 XA 트랜잭션 제약

XA 트랜잭션 지원은 InnoDB 스토리지 엔진에 한정되어 있습니다.

"외부 XA '의 경우 MySQL Server가 자원 관리자 역할을 수행 클라이언트 프로그램이 트랜잭션 관리자 역할을 수행합니다. "내부 XA '의 경우 MySQL 서버의 스토리지 엔진이 자원 관리자로 기능하고 서버 자체가 트랜잭션 관리자 역할을 수행합니다. 내부 XA 지원은 개별 스토리지 엔진의 기능에 의해 제한되어 있습니다. 내부 XA는 여러 스토리지 엔진이 관여하는 XA 트랜잭션을 처리하기 위해 필요합니다. 내부 XA 구현에서는 스토리지 엔진이 테이블 핸들러 레벨에서 2 단계 커밋을 지원하는 필요하며, 현재 이것은 InnoDB 에만 적용됩니다.

XA START 는 JOIN 및 RESUME 절은 지원되지 않습니다.

XA END 는 SUSPEND [FOR MIGRATE] 어구는 지원되지 않습니다.

xid 값 bqual 부분이 글로벌 트랜잭션의 XA 트랜잭션마다 달라야한다는 요구 사항이 현재 MySQL XA 구현의 제한 사항입니다. 이것은 XA 사양에 의한 것이 아닙니다.

XA 트랜잭션이 PREPARED 상태에 도달하면, MySQL 서버가 (예를 들어, Unix의 kill -9) 강제 종료되거나 비정상적으로 종료되거나 한 경우에도 서버가 재시작 한 후에 트랜잭션을 계속할 수 있습니다 . 그러나 클라이언트가 다시 연결하고 트랜잭션을 커밋하면 트랜잭션이 커밋되지도 바이너리 로그에 기록되지 않습니다. 이것은 데이터와 바이너리 로그의 동기화가 없어진 것을 의미합니다. XA는 복제와 함께 안전하게 사용할 수 없습니다.

PREPARED 상태에 도달하는 것도 포함 보류중인 XA 트랜잭션을 서버가 롤백 할 수 있습니다. 이것은 클라이언트 연결을 종료하고 서버가 부팅을 계속하거나 클라이언트가 연결하고 서버가 정상적으로 종료하는 경우에 발생합니다. (후자의 경우 서버는 각 연결 종료라는 표시에서 연결된 PREPARED XA 트랜잭션을 롤백합니다.) PREPARED XA 트랜잭션을 커밋 또는 롤백 할 일 필요가 있습니다 만, 이것은 바이너리 로깅 메커니즘을 변경하지 않고 할 수 없습니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved