(오라클) 트랜잭션, TLC, LOCK, 읽기 일관성
2021. 12. 23. 20:13ㆍ오라클(Oracle) 데이터 베이스
트랜잭션을 처음 접하니까 바로 드는 생각,
그럼 이때까지 열심히 insert로 열 데이터를 만들어서
select 어쩌구 저쩌구 본 데이터들은
어디있지???
결론적으론 commit을 하지 않아 다른 세션에서 봤을 때 보이지 않는단다.
반영이 안된다는 소리.
insert와 마찬가지로 delete도 commit해주지 않으면 반영이 안된다.
간혹 프로그램에 따라서 오토로 해주는 경우도 있다고 한다.
트랜잭션 | 관계형 데이터 베이스에서 하나의 작업 또는 밀접하게 연관되어 있는 작업 수행을 위해 나눌 수 없는 최소 수행 단위를 트랜잭션이라고 한다. SQL문법 중에서 트랜잭션을 제어하는데 사용하는 명령어는 TLC라고 한다.
|
트랜잭션을 제어하는 명령어 | 오라클 데이터베이스에서의 세션은 데이터 베이스 접속 시작부터 접속 종료되기까지의 전체 기간을 의미 하나의 세션은 여러 SQL문이 하나의 작업 단위로 다뤄지는 여러개의 트랜잭션으로 구성된다.
트랜잭션 작업을 데이터 베이스에서 영구히 반영할 때 commit 명령어를 사용한다.
지금까지 한 작업을 취소할 때는 Roll back 명령어를 쓴다.
|
LOCK | 이 명령어를 통해 현재 트랜잭션이 종료될 때까지 다른 세션에서는 데이터 조작 전 상태의 데이터만 조회할 수 있으며 이러한 특성을 읽기 일관성이라고 한다. |
'오라클(Oracle) 데이터 베이스' 카테고리의 다른 글
(오라클) DECODE, CASE-SQL문에서의 IF절 (2) | 2021.12.24 |
---|---|
(오라클) 제약 조건 (1) | 2021.12.22 |
조인(Join): 여러 테이블을 하나의 테이블처럼/ 등가 조인/ 비등가 조인 (0) | 2021.12.11 |
단일행 서브 쿼리 (0) | 2021.12.10 |
오라클(Oracle) 조인 총정리: 나만 알아볼 수 있을 듯? (0) | 2021.12.08 |