1. 트랜잭션
- 일관성 있는 상호작용을 위한 단위
- 데이터베이스 시스템은 ACID(Atomicity, Consistency, Isolation, Durability)를 보장하기 위해 트랜잭션을 논리적 작업 단위로 사용
- 트랜잭션을 통해 데이터베이스는 항상 일관성 있는 상태를 유지해야 함
1-1. COMMIT
- 데이터베이스 연산이 정확히 종료되어 변경 내역을 실제 데이터베이스에 반영
- 커밋하기 전, 서버에 롤백 세그먼트 버퍼가 만들어지며 영향 받은 행들이 LOCK 됨
- SELECT문을 사용하여 트랜잭션의 효과를 볼 수 있음
- 커밋 후, 영향 받은 행에 수용된 LOCK이 해제되며 서버 내부 트랜잭션 테이블이 시스템 변경 번호를 생성, 트랜잭션에 대입, 테이블에 저장함
1-2. ROLLBACK
- 데이터베이스 연산 중 문제 발생 직전의 COMMIT 지점까지 되돌림
ROLLBACK TO SAVEPOINT
를 이용해 일부만 ROLLBACK 가능
ROLLBACK [WORK] [TO [SAVEPOINT] 세이브포인트명];
1-2-1. SAVEPOINT
- ROLLBACK 수행 시 마지막 COMMIT 지점까지 되돌아감
- SAVEPOINT 지정하면 그 부분에서 트랜잭션 취소 가능