본문 바로가기

DB/오라클

오라클 트랜잭션


# 트랜잭션
오라클 크랜잭션 개념은 다음과 같은 실험으로 확인 할 수 있다.

터미널(cmd) 두개띄우고 한쪽에서 데이터 수정시 다른쪽에서 수정된걸 볼 수없다....
                                 1번                     2번       

한쪽에서 트랜잭션 진행중(데이터 수정등...)에 다른쪽에서도 같은데이터에대한 또다른부분을 트랜잭션진행할경우 수정됨
하지만 같은데이터에 같은부분을 접근할경우 ; 엔터시 대기상태로들어감(락이걸림)
이상태에서 1번에서 rollback할경우 2번대기상태에서 락이풀리면서 실행됨 
      => 1번은 새로운 트랜잭션시작(롤백이나 커밋이완료된상태부터...)

롤백시 이전데이터는
테이블스페이스의 롤백세그먼트에 이전의 데이터값을 저장해둠! 

테이블스페이스 - 세그먼트 - 인덱스세그먼트
                                      롤백세그먼트
                                      테이블세그먼트