본문 바로가기

Programming/[DB]

[DB] TRANSACTION

Transaction

 데이터베이스 내에서 하나의 그룹으로 처리되어야하는 명령문들을ㄹ 모아 놓은 논리적인 작업 단위

 여러 단계의 처리를 하나의 처리처럼 다루는 기능

 여러 개의 명령어의 집합이 정상적으로 처리되면 정상종료

 (하나의 명령어라도 잘못되면 전체 취소)

 

 - 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구

 

특징

 원자성

 일관성

 독립성

 지속성

 

Transaction 상태

 

 

COMMIT

모든 작업들을 정상적으로 처리하겠다고 확정하는 명령어로 처리과정을 DB에 영구저장

수행하면, 하나의 트랜젝션 과정을 종료

이전 데이터가 완전히 update 된다

 

ROLLBACK

작업 중 문제가 발생되어 트랜젝션의 처리과정에서 발생한 변경사항을 취소하는 명령어

트랜잭션으로 인한 하나의 묶음처리가 시작되기 이전의 상태로 되돌린다

이전 COMMIT한 곳까지만 복구한다

 

Auto

 자동 COMMIT 명령과 자동 ROLLBACK명령

SQL PLUS가 정상 종료 되었다면 자동으로 COMMIT 비정상 종료라면 ROLLBACK

 

장점

데이터 무결성이 보장됩니다

영구적인 변경 전에 데이터의 변경 사항을 확인할 수있습니다

논리적으로 연관된 작업을 그룹화할 수 있습니다.

 

SAVEPOINT

 SAVEPOINT 명령을 써서 현재의 트랜잭션을 작게 분할할 수 있습니다

 저장된 SAVEPOINT는 ROLLBACK TO SAVEPOINT문을 사용하여 표시한 곳까지 ROLLBACK할수 있다

 여러 개의 SQL문의 실행을 수반하는 트랜잭션의 경우, 사용자가 트랜잭션 중간 단계에서 세이브 포인트를 지정할 수 있습니다

 이 세이브포인트는 차후 롤백과 함계 사용해서 현재 트랜잭션 내의 특정 세이브포인트까지 롤백할 수 있게 됩니다

 

 

 

'Programming > [DB]' 카테고리의 다른 글

[DB] 데이터의 무결성  (0) 2018.04.19
[DB] 데이터베이스의 분석 설계 과정  (0) 2018.04.19
[DB] DML  (0) 2018.04.19
[DB] DDL문  (0) 2018.04.19
[DB] 그룹함수  (0) 2018.04.18