달력

5

« 2024/5 »

  • 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
  • 31
2018. 1. 18. 21:25

oracle TCL C. Oracle2018. 1. 18. 21:25

TCL  => TRANSACTION  CONTTOL  LANGUAGE

 
  
TRANSACTION => 일련의 작업처리를 위한 연관된 DML의 모음 -> ALL[COMMIT] or  NOTHING[ROLLBACK]
 
COMMIT         : 작업한 내용을 반영한다.
ROLLBACK      : 작업한 내용을 되돌린다.
 
 
UNDO SEGMENT 
  =>
부분적인 위치 표시자(SAVEPOINT)를 남겨 원하는 데이타만큼만 ROLLBACK 할수 있다.
        SAVEPOINT는 ANSI표준이 아니다.
 
SAVEPOINT ROLLBACK TO
                             EX) INSERT INTO DEPT VALUES(1,'A','B');
                                    SAVEPOINT A1;
 
                                    INSERT INTO DEPT VALUES(2,'B','C');
                                    SAVEPOINT A2;
 
                                     INSERT INTO DEPT VALUES(3,'C','D');
                                     SAVEPOINT A3;
 
                                      INSERT INTO DEPT VALUES(4,'D','E');
                                      SAVEPOINT A4;
 
                                      ROLLBACK TO  A3;
 
 
 
자동으로 COMMIT, ROLLBACK하는경우     
 =>  AUTO  COMMIT        : DDL,DCL, 정상종료시
 =>  AUTO  ROLLBACK     : 비정상 종료시
 
 
  
- 무결성
 
 
- 동시성 : READ CONSISTENCY(읽기 일관성)
    => 하나의 DML문을 여러 접속실행후 같이 실행시 먼저 실행한결과가 COMMIT 또는  ROLLBACK되어 결과가
         명확해지기까지 다른접속에서는 실행이 안된다. 또한 결과가 반영되기전까지 한쪽에서 DML실행한 값을
         다른 접속에서는 확인할 수 없다. 원래의 값이 보임. = LOCK(TRANSATION 간의 상호 파괴적인 행위를
         막기위한
  ORACLE의 보호 메카니즘)
 
- LOCK : * TRANSATION 간의 상호 파괴적인 행위를 막기위한 ORACLE의 보호 메카니즘
                  * 결과값이 반영(COMMIT,ROLLBACK)되기전까지 무한대기한다.
                  * AUTO
                  * 최저 level
                  * row level LOCK (같은 행에 대해서만 LOCK이 걸린다.)
                  * DML LOCK
 
 


'C. Oracle' 카테고리의 다른 글

oracle 문서보는법 및 기본용어  (0) 2018.01.18
oracle DCL  (0) 2018.01.18
oracle DML  (0) 2018.01.18
oracle 형변환  (0) 2018.01.18
oracle 서브쿼리  (0) 2018.01.18
:
Posted by sfeg