티스토리 뷰

back/Oracle Database

Oracle Database(TCL, DCL)

devel0per 2022. 9. 1. 15:14

 

DCL(Data Control Language)
: 데이터 제어 언어로 DB권한을 부여 및 삭제하는 GRANT / REVOKE가 있다.


Transaction(트랜잭션)
: 데이터베이스에서 트랜잭션이란 데이터 처리의 한 단위를 말한다.



트랜잭션은 하나의 논리적인 작업단위로 수행되는 일련의 작업으로 정의 한다. 트랜잭션은 ACID라고 불리는 특성이 있다.

Atomicity(원자성) : 트랜잭션은 분리할 수 없는 하나의 단위이기 때문에 작업이 모두 수행되거나 하나도 수행되지 않아야 한다. 
Consistency(일관성) : 트랜잭션에서 사용되는 모든 데이터는 일관되야 한다
Isolation(격리성, 독립성) : 현재 트랜잭션에서 접근하고 있는 데이터는 다른 트랜잭션으로부터 격리되어야 한다.(트랜잭션이 일어나면 완료되기 전까지는 다른 트랜잭션이 참조할 수 없다.
Durability(영속성) : 트랜잭션이 정상적으로 종료 되면 그 결과는 시스템 오류가 발생하더라도 시스템에 영구적으로 적용되어야 한다.

 

트랜잭션의 명령어

COMMIT : COMMIT은 트랜잭션의 처음과 끝을 나타낸다. 즉 COMMIT ~ COMMIT 까지가 TRANSCTION이다.
ROLLBACK : 트랜잭션을 취소하고 난 뒤 처음부터 다시 시작하거나 SAVEPOINT 부터 취소하고 다시 되돌리는 기능을 한다.
SAVEPONIN : 현재까지의 트랜잭션을 특정이름으로 지정할 떄 사용한다.

 

COMMIT 

: TRANSCTION(INSERT, UPDATE, DELETE) 작업내용을 실제 데이터베이스에 저장합니다.

이전 데이터가 완전히 업데이트 되고, 모든 사용자가 변경된 데이터의 결과를 볼 수 있습니다.

 

ROLLBACK

: TRANSACTION(INSERT, UPDATE, DELETE) 작업내용을 취소 합니다.

이전에 COMMIT 한 곳 까지만 복구합니다.

 

자동 COMMIT과 자동 ROLLBACK 명령이 되는 경우

. sqlpuls가 정상 종료 되었다면 자동 COMMIT 되지만 비정상 종료 되었다면 자동 ROLLBACK됩니다.

. DDL과 DCL 명령문이 수행된 경우 자동으로 COMMIT 됩니다.

. 정전이 발생하거나 컴퓨터 다운시 자동으로 ROLLBACK 됩니다.

 

 

COMMIT 명령어와 ROLLBACK 명령어의 장점

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

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

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

 

 

'back > Oracle Database' 카테고리의 다른 글

Oracle Database(사용자 권한)  (0) 2022.09.05
Oracle Database(CONSTRAINTS 제약조건)  (0) 2022.09.02
Oracle Database(DML)  (1) 2022.08.31
Oracle Database(서브 쿼리, DDL)  (0) 2022.08.30
Oracle Database(Function 4)  (0) 2022.08.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크