체크포인트와 SCN

박중원·2022년 8월 26일
0

오라클

목록 보기
3/3

내가 개인적으로 체크포인트와 SCN의 차이가 정확히 구별되지 않아서 정리를 해보았다

오라클 체크포인트란

커밋된 데이터를 어디까지 저장했는지 확인하기 위해서 만들어 놓은 개념이다.

이를 이해하기 위해서는 SCN에 대해서도 알고 있어야하므로 개념을 정리해보자

SCN(System Commit Number)

: Commit이 발생할 때 해당 트랜잭션에 고유한 번호를 부여해 관리한다. Instance Recovery나 Recover 명령시 SCN 정보를 사용해 DB문제가 있는지 없는지 판별한다.
(DB OPEN시 SCN이 다르면 문제가 있다고 판단한다)

SCN 조회 방법

select current_scn from v$database;

<SCN 종류>

current SCN : 시스템의 현재 SCN. 지속적으로 증가한다.
system checkpoint SCN : 마지막 checkpoint 시점의 SCN
datafile checkpoint SCN : 컨트롤파일에 있는 데이터파일의 SCN
datafile checkpoint SCN : 데이터 파일에 있는 SCN
start SCN : checkpoint가 종료될 때 데이터파일의 헤더 부분에 기록되는 SCN
stop SCN : DB가 운영 중이면 stop SCN 값은 null이다. DB를 정상 종료할 경우 stop SCN은 start SCN과 같은 값을 가진다. 만약 abort 옵션으로 DB를 내리게 된다면 stop SCN 값은 무한대를 가진다.

< CheckPoint >

특정한 경우에서 어느 한 SCN 시점에서 DBWR이
DB Buffer Cache에 있는 내용들을 해당 데이터 파일들에
모두 기록하는 이벤트를 Checkpoint 라고 한다

-> 또한 모든 데이터들을 기록한 후 모든 데이터파일과
컨트롤파일의 SCN 값을 동기화시켜준다

체크포인트 발생조건

  • 로그 스위치가 발생할 경우
  • 3초마다 발생
  • 테이블 스페이스가 오프라인으로 변경될 경우
  • 데이터베이스가 정상 종료될 경우
  • 사용자가 ALTER SYSTEM CHECKPOINT 명령으로 명시적인 체크포인트를 발생시킬 경우
  • 체크포인트 관련 파라메터에서 정한값에 의해 활동 주기가 되었을 경우
profile
IT 클라이머

0개의 댓글