뇨내

[Oracle-SQL Developer] Transaction 트랜잭션 본문

Oracle/DDL + DML + DCL

[Oracle-SQL Developer] Transaction 트랜잭션

삐옥 2021. 12. 25. 19:59

 

 

 

 

 

 


 

 

 

 

 

Transaction 트랜잭션

 

1. COMMIT
2. ROLLBACK
3. SAVEPOINT

 

트랜잭션, Transaction
- 데이터를 조작하는 업무의 물리적(시간적) 단위
- 오라클에서 발생하는 1개 이상의 명령어들을 하나의 논리집합으로 묶어 놓은 단위
- 트랜잭션에 포함되는 명령어 > DML > INSERT, UPDATE, DELETE > DB(데이터) 변경 조작
- 오라클에서 트랜잭션을 제어하는 방법 -> 트랜잭션 명령어
- DCL > TCL
- 하나의 트랜잭션으로 묶여있는 DML을 감시하다가 전체가 성공하면 DB에 반영처리를 하고,
  일부 실패하면 이전에 성공한 DML을 일괄 취소 처리

 

 

 트랜잭션이 언제 시작하고 언제 끝나는가


* 새로운 트랜잭션이 시작하는 경우
1. 클라이언트 접속 직후
2. commit을 실행한 직후
3. rollback 실행 직후

* 현재 트랜잭션이 종료되는 경우
1. commit 실행 직후     > 현재 트랜잭션을 DB에 반영함
2. rollback 실행 직후   > 현재 트랜잭션을 DB에 반영안함
3. 클라이언트 접속 종료
        a. 정상적인 접속 종료
        b. 비정상적인 접속 종료
            - 무조건 rollback 처리            
4. DDL 실행
    - CREATE, ALTER, DROP -> DB의 구조 변경
    - 자동으로 commit★

 

 

 


 

Comments