본문 바로가기

ORACLE/아키텍처 기초

오라클 아키텍쳐 (4) Redo Log File

728x90
반응형

Redo Log File

데이터 파일에 대한 변경 내역(= REDO Data)을 기록하는 파일.

장애 발생 시 복구 작업 수행

 

Redo Log Buffer

디스크 접근 횟수를 줄여 성능을 향상시키기 위해 Redo Data를 임시 보관하는 메모리 공간.

 

프로세스

  1. 서버 프로세스가 데이터 변경 시에 REDO Data를 생성한다.
  2. Redo Log BufferRedo Date가 임시 보관된다.
  3. 백그라운드 프로세스 LGWR(Log Writer)에 의해 Redo Log File에 기록된다.

 

LGWR이 Redo Log Buffer에 임시보관된 Redo Data를 Redo Log File에 기록하는 시점

  • 트랜잭션이 커밋될 때
  • DBWnREDO Data 쓰기를 요청할 때
  • 3초마다
  • Redo Log Buffer 용량이 부족할 때
  • 아직 기록하지 못한 REDO Data가 전체 Redo Log Buffer 크기의 1/3 이상일 때

 

Redo Log File 순환 기록

두 개 이상의 REDO Log File에 번갈아 저장한다.

Log Switch : 현재 사용중인 REDO Log File이 가득 차면 log switch 하여 다음 REDO Log File을 사용

모든 REDO Log File의 순환이 한 번 돌면 데이터가 덮어 쓰여져 과거의 데이터 손실 ( > Archive 모드 사용하여 손실 방지 가능)

Redo Log Buffer가 가득 차면 변경 처리가 정지된다 > 속도가 빠른 디스크에 위치 시키고, 충분한 공간을 할당해야한다.

 

Redo Log File Status

STATUS Description
CURRENT 현재 활성상태로 사용 중
ACTIVE 사용이 끝났지만 블록 복구에 사용 중이거나, 아카이브 생성이 끝나지 않았거나, Checkpoint가 끝나지 않아 덮어쓸 수 없고 유지가 필요한 상태
INACTIVE 인스턴스 복구에 더이상 필요하지 않아 재사용이 가능한 상태
UNUSED 생성 후 한 번도 사용되지 않은 상태
CLEARING_CURRENT ALTER DATABASE CLEAR 구문으로 재생성 중

 

 

 

Archive Log Mode

Redo Log File 이 순환 기록으로 덮어 쓰여지기 전에 데이터를 Archive Log File로 복사해 운영중인 REDO Data를 저장하는 작동 방식.

모든 REDO Data를 저장할 수 있으므로 백업 파일을 이용해 복구해야 하는 에러가 발생했을 때, 백업본에 백업 시점부터 최신 시점까지의 Archive Redo Log File을 적용하는 것으로 복구 가능

Log Switch 발생 시 백그라운드 프로세스 ARCn이 새 아카이브 로그 파일에 REDO 데이터 복사

  • 로그 시퀀스 번호 : 계속 생성되는 Archive Redo Log File과 Redo Log File을 식별하기위해 부여하는 번호. 파일이 쓰여지기 시작할 때 부여됨. 같은 번호를 가진 Archive Redo Log File과 Redo Log File은 동일한 내용을 갖는다.

 

 

오라클 아키텍쳐 (5) Checkpoint

Checkpoint 버퍼 캐시상에서 변경된 블록을 데이터 파일에 기록하는 시점을 Checkpoint라고 한다. 변경사항을 디스크에 바로 기록하지 않고 버퍼 캐시에 기록 후 Checkpoint 마다 디스크에 기록하는 방식

maybetoday.tistory.com

 

728x90
반응형