| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 디자인 패턴
- oracle
- JavaScript
- 코드 테스트
- 프로그래머스
- 자바
- SQL
- 오라클
- 프론트엔드
- 정리
- MySQL
- 프런트엔드
- 자바스크립트
- jsp
- jpa
- 코드테스트
- node.js
- BACK-END
- 쿼리
- 데이터베이스
- 스프링부트
- 미니정리
- Next.js
- 서버
- java
- web
- 백엔드
- spring
- 알고리즘
- 스프링
- Today
- Total
참치코더의 꿈 메모장
트랜잭션과 세션 Oracle - 2021/08/30 본문
트랜잭션
트랜잭션이란 더 이상 분할할 수 없는 최소 수행 단위를 뜻하며,
하나의 작업 또는 밀접하게 연관된 작업을 수행하기 위해 한 개 이상의 데이터 조작 명령어로(DML)
이루어진다.
트랜잭션은 하나의 트랜잭션 내에 있는 여러 명령어를 한 번에 수행하여 작업을 완료하거나
아예 모두 수행하지 않는 상태, 즉 모든 작업을 취소한다.
그리고 트랜잭션을 제어하기 위해 사용하는 명령어를 TCL이라고 한다.
트랜잭션은 SCOTT 같은 데이터베이스 계정을 통해 접속하는 동시에 시작된다.
트랜잭션이 종료되기 전까지 여러 SQL문을 실행하고 트랜잭션을 제어하는 명령을 실행할 때 기존 트랜잭션이 끝난다.
그리고 그 후에 새로운 트랜잭션이 다시 시작한다.
트랜잭션을 제어하는 명령어
트랜잭션 제어 명령어는 데이터 조작 상태를 정상적으로 수행 완료된 상태,
또는 모든 명령어가 수행되지 않아 최소된 상태 이 두가지 중 하나로 유도하는 명령어를 말한다.
트랜잭션을 취소하고 싶을 때는 ROLLBACK
만약 이 모든 작업의 수행을 취소하고 싶다면, ROLLBACK 명령어를 사용한다.
ROLLBACK은 현재 트랜잭션에 포함된 데이터 조작 관련(DML) 명령어의 수행을 모두 취소한다.
트랜잭션을 영원히 반영하고 싶을 때는 COMMIT
지금까지 수행한 트랜잭션 명령어를 데이터베이스에 영구히 반영할 때는 COMMIT 명령어를 사용한다.
세션
세션은 어떤 활동을 위한 시간이나 기간을 뜻한다.
오라클 데이터베이스에서 세션은 데이터베이스 접속을 시작으로
여러 데이터베이스에서 관련 작업을 수행한후 접속을 종료하기가지 전체 기간을 의미한다.
읽기 일관성
데이터 조작이 포함된 트랜잭션이 완료(COMMIT, ROLLBACK)되기 전까지 데이터를 직접 조작하는
세션 외 다른 세션에서는 데이터 조작 전 상태의 내용이 일관적으로 조회, 출력, 검색되는 특성을
읽기 일관성 이라고 한다.
'Oracle' 카테고리의 다른 글
| 오라클 서브쿼리 연산자 및 WITH 절 정리 (0) | 2025.04.27 |
|---|---|
| Oracle(오라클) DB 에서 자주 사용하는 문자 함수 정리 (0) | 2025.04.17 |
| 2021/08/27 Oracle - 테이블에 있는 데이터 삭제하기 (0) | 2021.08.27 |
| 2021/08/15 Oracle - 테이블에 있는 데이터 수정하기 (0) | 2021.08.15 |
| 2021/08/15 Oracle - 테이블에 데이터 추가하기 (0) | 2021.08.15 |