블럭 읽기 와 쓰기
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 블럭 읽기 / 쓰기[편집]
1.1 논리적 읽기 (Logical Read)[편집]
- 버퍼캐시,프라이빗 메모리에 있는 블럭을 읽을 경우 논리적 읽기 수행됨.
- 논리적 읽기는 블럭을 읽거나 쓸때 모두 발생됨
1.2 버퍼 캐시 읽기 (buffer cache read)[편집]
- 버퍼 캐시에 없는 블록을 읽을 경우, 버퍼 캐시 읽기가 수행됨.
- 데이터파일 열기 => 블록 읽기 => 버퍼캐시에 저장 순으로 발생되는 구조임
1.3 DBWR 쓰기 (DBWR write)[편집]
- 일반적으로 서버 프로세스가 직접 데이터 파일에 데이터를 기록 하지 않는다.
- 서버 프로세스는 버퍼 캐시에 블록만 갱신함.
- DBWR 백그라운드 프로세스가 변경된 블록(더티 블록,dirty block)을 데이터 파일에 저장
1.4 다이렉트 읽기 (direct path reads)[편집]
- 일부 특수한 상황에서 서버프로세스가 데이터 파일의 블록을 직접 읽어 올수 있음.
- 이럴 경우, 서버 프로세스는 블록을 SGA 버퍼 캐시로 읽어 들이지 않고 PGA(프라이빗 메모리)로 직접 전송
1.5 다이렉트 쓰기[편집]
- 일부 특수한 상황에서 서버프로세스가 데이터 파일에 직접 블록을 쓴다.
1.6 물리적 읽기 (Physical reads)[편집]
- 버퍼 캐시 읽기 와 다이렉트 읽기를 일컫는다.
1.7 물리적 쓰기 (Physical writes)[편집]
- DBWR 쓰기와 다이렉트 쓰기를 일컫는다.