SQLP

시험 직전 요약장

판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.

이론 목록

Oracle 메모리 구조: SGA·PGA·UGA와 Workarea

원래 이론 →

판단 기준

잘못된 판단정확한 기준
SGA 안에 Server Process가 들어 있다SGA는 Memory, Process는 별도 실행 주체다
PGA는 Session마다 하나다PGA는 Process 기준이고 UGA가 Session 상태다
Private SQL Area는 항상 PGA다Shared Server의 Persistent Area는 UGA를 통해 SGA에 위치할 수 있다
Shared Pool은 Query 결과를 저장한다주 대상은 실행 구조와 Metadata이며 Result Cache는 별도 Subarea다
Buffer Cache는 최종 Result Set을 저장한다Datafile Block의 복사본을 저장한다
Commit은 DBWn의 Datafile Write 완료다일반 동기 Commit은 LGWR의 Redo 기록 완료가 핵심이다
PGA_AGGREGATE_TARGET은 절대 상한이다Target이며 실제 사용이 초과할 수 있다
TEMP Spill이면 무조건 PGA를 늘린다SQL 입력량·Plan·Row 폭·동시성을 먼저 확인한다
V$PGASTAT 누적값이 크면 현재 장애다Startup 이후 누적값이므로 구간 Delta가 필요하다
MEMORY_SIZE와 MEMORY_TARGET을 함께 크게 둔다26ai에서 MEMORY_SIZE 사용 시 MEMORY_TARGET 계열은 0이어야 한다

이 부분의 원문 →

헷갈리는 개념

Private SQL Area는 Parsed SQL을 실행하기 위한 Session별 정보를 보관합니다.

  • Bind Variable Value
  • Query Execution State
  • Cursor·Fetch 상태
  • Run-Time Memory

Dedicated Server에서는 Session과 Server Process가 밀접하게 연결되므로 Private SQL Area가 PGA에 위치합니다.

Shared Server에서는 Private SQL Area를 두 관점으로 나눠야 합니다.

도식
Persistent Area
→ Database Call 사이에도 유지해야 하는 Session 상태
→ UGA에 포함
→ SGA의 Large Pool, Large Pool이 없으면 Shared Pool

Run-Time Area
→ 현재 DML·DDL Call을 실행하는 동안 필요한 작업 상태
→ 해당 Call을 처리하는 Shared Server Process의 PGA

따라서 “Private SQL Area는 항상 PGA”라는 문장은 Shared Server를 포함하면 부정확합니다. 반대로 Workarea의 Run-Time Allocation은 Shared Server에서도 Process PGA에서 사용됩니다.


이 부분의 원문 →

내 최근 연습 오답

현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.

학습 기록 →

오답 기록을 확인하고 있습니다.