[IT]/Oracle DB
oracleDB.Transaction(트랜잭션)
givemebro
2021. 3. 26. 10:41
반응형

Transaction
트팬잭션이란 사전적 의미로 작업 단위(or 업무 단위)를 의미
데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위를 말함
> DCL
commit :
rollback :
ex) 카드 발급시에 약속한 포인트를 지급 > 작업단위(카드 발급 작업 단위 or Transaction)
카드 발급 트랜잭션
1. 카드 발급
2. 약속한 포인트 지급
위 두 사항이 정상적으로 수행되었을 때만 실제 데이터베이스에 작업결과가 저장되어야 함
> COMMIT 실행
만약 작업단위에서 하나의 세부 작업이라도 문제가 발생할 경우에는 작업이 취소
> ROLLBACK 실행
이러한 트랜잭션 처리를 위해서는 데이터베이스를 사용하는 프로그램 차원에서
COMMIT모드를 수동으로 전환해야 함
JDBC는 기본이 AutoCommit 모드이므로 connection.setAutoCommit(false)로 수동 커밋모드로 전환해야 함
트랜잭션(작업단위) 내 모든 작업이 정상적으로 수행되었을 때 connection.commit(); 으로 실제 db에 작업결과를 반영하는 commit을 수행하고 문제가 발생할 경우에는 connection.rallback()으로 작업 진행한 것을 취소하고 되돌리는 rallback 작업을 수행함
반응형