티스토리 뷰
DATABASE BUFFER CACHE
DATABASE BUFFER CACHE
DATA를 파일에서 BLOCK으로 복사해서 가져온 후 조회/변경 작업을 하는 공간
DBC 상태 3 가지 분류
이유 : 동시에 하나의 블록에 접근 시도하면 KERNEL PANINC 및 DATA 훼손가능
- PINNED BUFFER : 사용자가 현재 사용하고 있는 BUFFER BLCOK
- DIRTY BUFFER : 사용자 사용완료후 변경내용 저장 전
- FREE BUFFER : UNUSED 아니면 DIRTY BUFFER 였다가 저장 완료된 블록
DBC 상태 관리 리스트 : LRUW 와 LRU
- LRU LIST
메인 리스트 : FREE BUFER LIST ( HOT 영역, COLD 영역)
보조 리스트 : FREE BUFFER LIST (UNUSED) , ( DBWR에 기록된)
- LRUW LIST
메인 리스트 : DIRTY BUFFER ( 변경된 버퍼들의 리스트
보조 리스트 : 현재 DBWR에 기록중인 BUFFER
리스트 참조 순서 :
DISK에서 DATA BLOCK 복사전, LRU LIST 보조리스트 참조 후 메인리스트 COLD 영역 참조, FREE BUFFER 못찾으면 SCAN멈추고 DBWR에게 요청
리스트 관리 :
리스트도 공유하는 자원이기 때문에 LATCH( 유한한 자원을 여러 프로세스 에서 공유를해서 사용하기위해 필요한 기술)를 이용한 관리.
'ORACLE DB > Oracle DB Admin' 카테고리의 다른 글
ORACLE MEMORY STRUCTURE (오라클 메모리 구조) (0) | 2013.03.12 |
---|---|
REDO LOG BUFFER (0) | 2013.03.11 |
SHARED POOL, LARGE POOL, JAVA POOL, STREAMS POOL FIXED SGA (0) | 2013.03.11 |
PGA(PROGRAM GLOBAL AREA) (0) | 2013.03.11 |
SCN(SYSTEM COMMIT NUMBER) (0) | 2013.03.11 |