Link Search Menu Expand Document

TCL Commands

Table of contents

  1. TCL
    1. Transcation Basic

TCL

트랜잭션 제어언어

Transaction Control Language

Transcation Basic

여러가지의 DML 작업을 하나의 단위로 묶어서 처리하는 것을 의미

▸ commit 작업을 최종적으로 확정, rollback 작업을 취소

▸ commit, rollback은 트랜잭션을 위해 오라클에서 제공하는 명령어

▸ 오라클은 트랜잭션을 기반으로 데이터의 일관성을 보장

▸ 오라클 명령어 중에서 DDL과 DCL은 하나의 명령어가 하나의 트랜잭션으로 구성됨

▸ DML은 데이터를 일관성 있게 변경하기 위해서 하나 이상의 DML문으로 구성됨

▸ ALL-OR-Nothing 방식으로 처리됨, 즉 여러개의 명령어 중 하나의 명령어라도 잘못되면 전체를 취소하기 때문에 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구할 수 있게 함

▸ 데이터의 추가, 수정, 삭제 등 데이터를 조작하는 명령어 DML은 실행됨과 동시에 트랜잭션이 진행됨, 이들 작업이 성공적으로 처리되도록 하기 위해서는 COMMIT 명령을, 취소하기 위해서는 ROLLBACK명령을 실행

▸ 첫번째 DML문이 실행될 때 시작되어 다음 이벤트가 발생하면 종료

▸ 트랜잭션이 종료되면 실행 가능한 다음 SQL문이 다음 트랜잭션을 자동으로 시작

▸ DDL, DCL문이 실행되는 경우에는 자동으로 COMMIT되고 오라클이 종료되면 자동으로 ROLLBACK됨

  • COMMIT

    모든 작업들을 정상적으로 처리하겠다고 확정하는 명령어

    ▸ 트랜잭션의 처리 과정을 데이터베이스에 모두 반영하기 위해서 변경된 내용을 모두 영구 저장

    → commit 명령어를 수행하게 되면 하나의 트랜잭션 과정을 종료

  • ROLLBACK

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

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

    → ROLLBACK역시 트랜잭션 과정을 종료하게 됨

예제1. 내용 복구 가능

delete dept_copy;

ROLLBACK

select * from dept_copy;

예제2. 내용 복구 불가능

-- 내용 복구 불가능
delete dept_copy;

COMMIT

ROLLBACK

select * from dept_copy;

이 웹사이트는 jekyll로 제작되었습니다. Patrick Marsceill, Distributed by an MIT license.