1. Shared pool
:: Library Cache + Data Dictionary Cache
- 모든 SQL 문을 처리하기 위해 사용
① Library Cache
- 가장 최근에 사용된 SQL 문장의 명령문, 구문 분석 트리, 실행계획정보를 갖고 있다
- 가장 최근에 실행한 PL/SQL 문장을 저장하고 공유. 프로시져(함수, 패키지, 트리거 ) 저장
② Data Dictionary Cache
- 테이블, 컬럼, 사용자 이름과 같은 최근 사용된 데이터 사전의 정보를 저장
2. DataBase Buffer Cache
- 가장 최근에 사용된 데이타 블록을 저장하는 메모리 공간 ( 수정된 데이터도 보유 가능)
- LRU 알고리즘에 의해 관리되어 성능 증가
※LRU 알고리즘:: 최근에 사용된 블록을 유지하기 위해 오래된 것을 제거하는 알고리즘
3. Redo Log Buffer
- DB에서 일어난 모든 변화를 저장하는 메모리 공간
( insert, update, delete, create, alter, drop 명령이 포함)
- LGWR 에 의해 리두 로그 파일에 저장한다
4. Java Pool
- 자바로 작성된 프로그램을 실행할 때 실행 계획을 저장하는 영역
5. Large Pool
- 오라클 백업 및 복원 작업에 대한 메모리 할당
# SGA의 크기를 결정하는 Parameter
- DB_CACHE_SIZE : 데이터베이스 버퍼 캐시
- SHARED_POOL_SIZE : 공유 풀
- LOG_BUFFER : 리두 로그 버퍼
- JAVA_POOL_SIZE : 자바 풀
- LARGE_POOL_SIZE : 라지 풀
** SGA의 크기를 보는 명령어 :: show SGA // show parameter SGA_MAX_SIZE
** 크기 변경 명령어
log_buffer_size 의 크기를 15M로 변경하고자 할 때
:: alter system set log_buffer_size =15 M;