SGA
SGA 영역
- 오라클 서버의 메모리영역
- 오라클의 인스턴스에 대한 데이터와 제어정보를 가지는 공유 메모리 영역의 집합
- SGA의 각 부분의 크기를 조절 할 수 있습니다.(initSID.ora)
- 9i버전 이후 부터 서버의 종료없이 동적으로 SGA_MAX_SIZE 변경가능
- 실제 메모리 크기가 허용하는 범위에서 크게잡으면, 디스크 I/O 비용을 줄이고 최적의 성능을 낼 수있다.
1 . 공유풀
- Library Cache 와 데이터 사전 캐쉬로 구성되어 있다.
Library Cache: 가장 최근에 사용된 SQL 문장의 명령문과, 구문분석트리, 실행계획정보를 가지고 있다.
Shared SQL 과 Shared PL/SQL 영역으로 구분되어 있다.
* Data Dictionary Cache: 데이터 컬럼, 사용자이름 사용권한 같은 가장 최근에 사용된 데이터 사전의 정보를 저장하고 있다.
- 하나의 데이터 베이스에서 행해지는 모든 SQL 문을 처리하기 위하여 사용된다.
- 실행계획과 구문분석 정보 포함
2. 데이터베이스 버퍼 캐쉬
- 가장 최근에 사용된 데이터를 저장하는 메모리 공간이다.
- 아직까지 디스크에 완전이 쓰여지지 않는 수정된 데이터를 보유할 수도 있습니다.
- LRU 알고리즘에 의하여 가장 오래전에 것은 디스크에 저장하고, 메모리에는 가장 최근에 사용된 데이터를 저장 함으로서, 디스크 I/O가 줄어들고, 데이터베이스 시스템의 성능이 향상된다.
3. 리두 로그 버퍼
- 데이터베이스에서 일어난 모든 변화를 저장하는 메모리 공간입니다.
- DB에서 발생한 모든 변화는 LGWR에 의해 리두 로그 파일에 저장합니다.
- SGA 에 있는 순환 버퍼입니다.
- 리두 로그 버퍼의 크기는 오라클 파라미터 LOG_BUFFER 에서 지정합니다.
JAVA Pool 과 Large Pool
- java Pool: 자바로 작성된 프로그램을 실행할 떄 실행계확을 저정하는 영역입니다.
- JAVA_POOL_SIZE 파라미터로 관리되며, 기본크기가 24mb
- Large Pool: 오라클 백업 및 복원 작업에 대한 대용량 메모리할당, I/O 서버 프로세스 및 다중 스레드 서버에 대한 세션 메모리 제공하는 SGA 영역