DATABASE BUFFER CACHE

2024. 6. 25. 21:11DBMS/ORACLE Admin

반응형

 

 

 BUFFER CACHE 는 데이터의 조회,변경 등 실제 작업이 일어나는 공간이다. 여러 사용자가 동시에 입 출력을 시도할 수 있기 때문에 CACHE BLOCK 의 상태를 통해 관리된다.

 

 

■ 버퍼 풀(buffer pool)

 

PINNED BUFFER

 

 다른 사용자가 현재 사용 중이어서 다른 용도로 해제하거나 재사용할 수 없는 버퍼이다. 데이터베이스 작업 중 특정 데이터 페이지를 계속 참조해야 하는 상황에서 사용되며 트랜잭션이 진행 중이거나 쿼리가 실행 중인 동안 해당 페이지를 고정(pinned)하여 데이터가 변경되거나 제거되지 않도록 한다.

 

 

 

DIRTY BUFFER 


 메모리 내의 버퍼 페이지가 디스크에 있는 해당 페이지와 일치하지 않는 상태로 버퍼 내의 데이터가 변경되었지만 아직 디스크에 기록되지 않은 경우이다. 변경 사항이 디스크에 기록되기 전까지는 Dirty Buffer 상태로 유지되고 일정 주기마다 또는 특정 조건이 만족되면 디스크에 기록되는 과정을 "플러시(flush)"라고 한다.

 

 

 Free Buffer


 현재 사용 중이지 않으며 (unused), Dirty Buffer 였다가 하드 디스크로 저장이 완료되어 재사용할 수 있는, 새로운 데이터 페이지를 로드하기 위해 사용할 수 있는 버퍼이다. 데이터베이스 시스템은 새로운 데이터 페이지를 로드할 때 Free Buffer를 사용하여 메모리 내에 데이터를 효율적으로 배치하고 메모리 관리의 유연성을 높이며, 버퍼 풀 내에서 사용 가능한 자원을 최적화한다. 필요시 새로운 데이터를 로드하거나, 이전에 사용된 데이터를 제거하여 자유 버퍼로 만들 수 있다.

 

 

■ Latch

 

모든 메모리 자원에는 latch가 존재하며 하나의 메모리 공간에 여러개의 latch 가 있기도 하다. 변경되 데이터를 기록하기 위해서는 redo copy latch를 먼저 확보 한 후 redo allocation latch를 확보해야 한다.

 

 
반응형

'DBMS > ORACLE Admin' 카테고리의 다른 글

System tablespace Data Dictionary View  (0) 2024.07.01
Checkpoint  (0) 2024.06.26
SEMAPHORE  (0) 2024.06.24
증분 백업  (0) 2024.06.23
HR 계정 추가  (0) 2024.06.17