Oracle Database TIP
SCN번호 확인. 3 0 14,078

by 김정식 SCN V$DATABASE [2006.01.19]


  Oracle에서 SCNSystem Change Number로서, Database의 commit된 version을 나타내는 database 구조라고 볼 수 있다.

  Transactiion이 commit되면 그 transaction은 transaction을 구분지어주는 SCN을 부여 받는다.

  database내에 commit이 수행 될 때마다 새로운 값이 생성되며, 항상 증가만 하고 감소하지는 않는다.

  일반적으로 transaction이 commit을 수행 할 때마다 1씩 증가하며, 이렇게 commit시 scn이 부여되는 되는 것을, 이후 그 scn을 사용되는 것과 구별하여 commit scn 이라고 한다. 이 scn은 concurrency control이나 recovery시에 이용 된다.

  v$logv$log_history등에서 ChANGE#을 컬럼 이름으로 포함하는 것은 대부분이 scn을 나타내는 것 이다.(분산 환경이나 OPS에서는 다른 instance와 맞추기 위해 값이 연속적이 않게 크게 증가될 수 있다.)

SCN의 사용처에 따른 구분
  • - Redo log file 에서 : low SCN & high SCN
  • - Data file에서 : offline SCN & checkpoint SCN
  • - Control file에서 : stop SCN
 
-- Quiesce State는 non-DBA transaction 및 질의, 
-- PL/SQL 처리가 시작되지 못하게 한다.    
SQL> ALTER SYSTEM QUIESCE;
SQL> SELECT CHECKPOINT_CHANGE# FROM V$DATABASE;

CHECKPOINT_CHANGE#
------------------
443582

-- quiesce 상태에서 해제 
SQL> ALTER SYSTEM UNQUIESCE;
SQL> ALTER SYSTEM SWITCH LOGFILE; 
    

- 강좌 URL : http://www.gurubee.net/lecture/1875

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입