사용자 도구

사이트 도구


dbms:oracle:concept:sga

문서의 이전 판입니다!


Oracle SGA(System Global Area)

초기화 파라메터

SGA_MAX_SIZE

SGA_MAX_SIZE SGA 전체의 최대크기, SGA 관련파라메터들은 SGA_MAX_SIZE 한도 내에서 크기를 변경할 수 있다.
ALTER SYSTEM 명령으로 시스템 재시작없이 동적으로 변경할 수 있다.
Dynamic SGA

Oracle 10g에서 Dynamic SGA를 사용할 수 있는 파라메터

  1. DB_CACHE_SIZE
  2. LOG_BUFFER
  3. SHARED_POOL_SIZE
  4. LARGE_POOL_SIZE
  5. JAVA_POOL_SIZE

SGA 파라메터 크기 변경

  1. SGA 파라메터의 크기를 늘려주기 위해서는 필요한 만큼의 Free Granule이 존재해야만 하며,
    현재 사용하고 있는 SGA의 크기가 SGA_MAX_SIZE보다 작어야 한다.
    ALTER SYSTEM SET DB_CACHE_SIZE=1024M SCOPE=SPFILE;

Granule

  1. Granule은 가상 메모리 상의 연속된 공간으로 , Dynamic SGA 모델에서 할당할 수 있는 최소 단위 이다.

Startup SGA 설명

SQL> show sga
Total System Global Area  926941184 bytes
Fixed Size                  1222648 bytes
Variable Size             243271688 bytes
Database Buffers          675282944 bytes
Redo Buffers                7163904 bytes
Total System Global Area SGA를 구성하는 영역크기의 합계로 SGA_MAX_SIZE 파라메터로부터 영향을 받는다
Fixed Size 데이터베이스나 인스턴스의 상태를 저장하는 영역으로, 백그라운드 프로세스가 액세스하는 영역이다
Variable Size 이 영역의 크기는 SHARED_POOL_SIZE, LARGE_POOL_SIZE, JAVA_POOL_SIZE 파라메터로부터 영향을 받는다
Database Buffers 데이터파일로 부터 읽어들인 데이터 블록 내용을 저장하는 영역으로 DB_CACHE_SIZE 파라메터의 영향을 받는다
Redo Buffers 데이터베이스에 가해진 모든 변경사항에 대한 내역을 저장하는 Redo Log Buffer의 크기를 LOG_BUFFER 파라메터로부터 영향을 받는다

ASMM

  1. ASMM은 Automatic Shared Memory Management(자동 공유 메모리 관리)의 약자이다.
  2. 데이타베이스가 동작하는 동안 여러 메모리 풀의 크기를 자동으로 조정하여 필요한 경우 메모리를 할당하거나 해제하는 역할을 담당합니다.
  3. ASMM을 사용하기 위해서는 SGA_TARGET 파라메터를 0보다 크게 설정하면 됩니다.
  4. shared pool, buffer cache, large pool, java pool에 대한 크기를 자동으로 관리하여 줍니다.
  5. SGA_TARGET 값은 SGA_MAX_SIZE 보다 크게 설정할 수 없습니다.
     SGA_MAX_SIZE >= SGA_TARGET 
  6. ALTER SYSTEM 명령으로 SGA_TARGET 값을 설정한 후, 모든 자동 조절 풀의 매개변수를 0으로 설정합니다.
    DB_CACHE_SIZE나 SHARED_POOL_SIZE를 0으로 설정하지 않는다면 해당 값이 하한 임계 값이 됩니다.
    ALTER SYSTEM SET SGA_TARGET=1024M SCOPE=BOTH;
    ALTER SYSTEM SET DB_CACHE_SIZE=0;
    ALTER SYSTEM SET SHARED_POOL_SIZE=0;

Database Buffer Cache

Redo Log Buffer

Shared Pool

Large Pool

Java Pool

  1. Oracle JVM(Java Virtual Machine)에 접속해 있는 모든 세션에서 사용하는 자바코드가 사용하는 메모리 영역이다.
  2. Java Pool은 JAVA_POOL_SIZE 파라메터로 크기를 설정한다.

Streams Pool

  1. 10g 부터 나타난 풀 개념이다.
  2. 오라클 스트림(다른 DB로 데이터 전달)에서 사용하는 메모리 영역으로 STREAMS_POOL_SIZE 파라메터로 크기를 설정한다.
dbms/oracle/concept/sga.1202902438.txt.gz · 마지막으로 수정됨: 2008/02/13 20:33 저자 starlits