오라클 SQL · 객체와 성능

TCL과 DCL: COMMIT, ROLLBACK, SAVEPOINT, 권한

데이터를 바꾼 뒤에는 그 변경을 확정할지 되돌릴지 결정해야 한다. TCL은 트랜잭션을 제어하고, DCL은 사용자 권한을 관리한다.

TCL과 DCL: COMMIT, ROLLBACK, SAVEPOINT, 권한 대표 이미지

이 글에서 꼭 잡아야 할 것

데이터를 바꾼 뒤에는 그 변경을 확정할지 되돌릴지 결정해야 한다. TCL은 트랜잭션을 제어하고, DCL은 사용자 권한을 관리한다.

SQL은 문법을 실행하는 순간 끝나는 것이 아니라, 그 변경을 언제 확정할 것인지까지 포함해 생각해야 한다. 트랜잭션 감각이 있으면 실무에서 사고를 줄일 수 있고, 시험에서도 DDL과 DML의 차이, 자동 커밋 여부 같은 포인트를 훨씬 잘 이해하게 된다.

난이도 중급
모듈 객체와 성능
학습 시간 10분
핵심 키워드 COMMIT, ROLLBACK, GRANT

개념 지도와 이해 포인트

트랜잭션 경계 트랜잭션은 논리적으로 하나로 묶어 처리할 작업 단위다. COMMIT 전까지는 되돌릴 가능성을 남길 수 있다.
SAVEPOINT SAVEPOINT는 트랜잭션 중간 지점을 저장한다. 전체를 다 되돌리지 않고 특정 지점까지만 롤백하고 싶을 때 유용하다.
권한 부여 GRANT와 REVOKE는 객체 접근 권한과 시스템 권한을 관리한다. 데이터 보안과 운영 분리에 핵심적인 역할을 한다.
TCL과 DCL: COMMIT, ROLLBACK, SAVEPOINT, 권한 개념 다이어그램

대표 문법 패턴

UPDATE accounts
SET balance = balance - 100
WHERE account_id = 1;

SAVEPOINT before_transfer;

UPDATE accounts
SET balance = balance + 100
WHERE account_id = 2;

COMMIT;

문법 읽는 포인트

  • COMMIT은 변경 사항을 확정한다.
  • ROLLBACK은 마지막 COMMIT 이후 변경을 되돌린다.
  • GRANT는 권한 부여, REVOKE는 권한 회수다.

핵심 용어

  • COMMIT
  • ROLLBACK
  • GRANT

중간 저장점이 있는 이체 흐름 이해하기

트랜잭션은 비즈니스 작업 단위라는 관점으로 이해하는 것이 중요하다. 주문, 결제, 재고 차감처럼 함께 성공하거나 함께 실패해야 하는 작업은 하나의 트랜잭션으로 읽어야 한다.

SAVEPOINT s1;

UPDATE inventory
SET quantity = quantity - 1
WHERE product_id = 100;

ROLLBACK TO s1;

수험 체크포인트와 자주 하는 실수

시험 체크포인트

  • COMMIT 전과 후의 상태 차이를 꼭 구분하자.
  • SAVEPOINT는 부분 롤백을 위한 기준점이다.
  • GRANT/REVOKE는 DCL, COMMIT/ROLLBACK은 TCL로 분류된다는 점을 기억하자.

자주 하는 실수

  • 트랜잭션을 문장 하나 단위로만 이해하는 실수
  • DDL과 DML의 커밋 특성을 혼동하는 실수
  • 권한 부여와 객체 소유 개념을 섞어 이해하는 실수

연결 학습

트랜잭션과 권한을 이해하면 운영 관점이 붙는다. 다음 챕터에서는 자주 쓰는 데이터베이스 객체인 뷰, 시퀀스, 인덱스를 정리한다.

댓글 0

작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.

일반 댓글 작성

댓글을 불러오는 중입니다.

같은 카테고리에서 이어서 읽기

지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.