📌 1. SGA란?
- ORACLE이 시스템으로부터 자원을 할당받아 관리하는 ORACLE 시스템 영역.
- 쉽게 말하자면, Oracle의 공유 메모리영역이라고 할 수 있음.
- 크게 DB Buffer System, Redo Log Buffer, Shared Pool, Data Dictionary Cache로 구성.

📌 2. DB Buffer System
- 메모리 영역의 집합
- 사용자의 Data 요청 시, 서버 프로세스가 가장 먼저 확인.
- 해당 영역에 Data가 없으면 디스크 I/O가 발생!
📌 3. Redo Log Buffer
- 장애 발생 시, 복구를 위해 모든 변경 정보와 원본 정보를 저장하는 곳.
- 만약 넘치면 온라인 Redo에 저장함.
📌 4. Shared Pool
- 사용자가 작성한 SQL문이 작성되어 관리되는 곳.
- 라이브러리 캐시라는 메모리 공간이 존재.
- 라이브러리 캐시란? SQL 파싱, 최적화, 로우 소스 생성 과정을 거쳐 생성한 내부 프로시저를 반복적으로 재사용할 수 있도록 캐싱해두는 공간.
📌 5. Data Dictionary Cache
- SQL 하드 파싱 작업 시 Table, Column, 권한 등 DB에서 최근에 사용한 Data의 Dictionary 정보를 저장.
- 파싱이란? 쉽게 말해 옵티마이저가 SQL을 분석하는 것.
- 하드 파싱이란? Shared Pool에 존재하지 않아 실행 계획을 새로 생성하는 것!
반대로 소프트 파싱이면? Shared Pool에 이미 존재하는 것이겠죠? 😊
참고