본문 바로가기

sql_tuning

Section4. 오라클 메모리 구조 및 SGA 개요

728x90
반응형

[출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드]

Oracle Memory Structure

  • Shared Memory
    • 매우 많은 서버 프로세스가 동시에 메모리 자원을 공유 (SGA: Shared Global Area)
  • Non Shared Memory
    • 각 서버 프로세스가 개별 메모리 할당 (PGA: Program Global Area) 
  • 오라클의 메모리 활용 전략
    • Disk I/O를 최대한으로 줄일 수 있는가?
    • 동시에 많은 프로세스에서 최대한 효율적으로 자원할당을 할 것인가?
    • 시스템 안정성을 어떻게 유지할 것 인가? 

Oracle SGA 의 개요 

  • Database Buffer Cache: Disk I/O의 영향도를 줄이기 위해 데이터 파일의 데이터 블록을 메모리로 Copy
  • Shared Pool: 사용자들간에 SQL 및 SQL 실행 계획을 공유하기 위한 메모리 공간 
  • Redo Log Buffer: 데이터 변경사항 (DML 발생 시) 정보를 가지며 Redo Log File에 Write 되기 이전에 Memory에 먼저 Write 되는 영역
  • Large Pool: Parallel Query 메시징 또는 대용량의 메모리 할당이 필요한 경우 사용 됨.
  • Java Pool: Java Object 에 대한 메모리 영역
  • Stream Pool: Data 복제 등을 위한 Stream 사용 영역 

Instance 와 Database 에 대한 용어 정의

  • Instance란?
    • Background ProcessSGA 메모리 영역을 일컫는다. 따라서 Instance를 시작하게 되면 SGA 영역을 할당하고 Background Process 를 구동시키게 된다.
  • Database란?
    • 데이터베이스를 저장하는 물리적 영역이라고 할 수 있다. dbf 파일, control 파일, log 파일 등 데이터를 저장되어 있는 물리적 공간이라고 생각하면 된다. 
728x90
반응형