Database/Oracle Database

[오라클] 지연 쓰기, 빠른 커밋

Dong538 2022. 1. 17. 14:35

- 지연 쓰기: 
DBWR 백그라운드 프로세스. 더티 버퍼를 데이터 파일로 기록하는 방식. 빈번한 디스크IO 방지. 변경된 데이터 블록을 일정량 취합하여 한번에 디스크에 저장하는 것. 

- 빠른 커밋:
변경에 대한 로그 정보는 즉시 디스크로 기록하는 방법. 데이터 정합성 유지. 

- (지연) 쓰기하는 시점: 
1. 체크포인트 발생
2. 더티 버퍼 개수 임계값 도달
3. 클린/프리 버퍼 찾을 수 없을 때 
4. 테이블스페이스 오프라인/읽기 전용 모드로 변경
5. 테이블 DROP, TRUNCATE
6. 테이블스페이스 온라인 백업 명령 수행
7. 주기적 타임 아웃


리두 로그는 Write-ahead 로깅 기법 사용
리두 로그 버퍼의 변경 내용을 기록
리두 로그는 빠른 커밋 사용
기록한 리두 로그 버퍼의 변경 내용 디스크로 저장. LGWR 해당 프로세스 담당
커밋 발생 시 LGWR가 리두 로그 버퍼를 리두 로그 파일에 기록함 

- DBWR VS. LGWR: 
디스크 IO양: DBWR - 속해있는 데이터 블록을 기록, LGWR - 변경된 데이터만 리두 로그 버퍼에 기록
IO 위치: DBWR - 정해진 데이터 블록에 기록, LGWR - 위치에 상관없이 기록

댓글수0