dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
SGA / PGAMemory & Architecture

SGA vs. PGA Memory Architecture (Sistem vs. Süreç Belleği)

SGA tüm oturumların paylaştığı ortak bellek havuzu (Buffer Cache, Shared Pool), PGA ise her sunucu sürecine özel tahsis edilen işlem belleğidir (Sort, Hash).

Derin Mimari İncelemesi

Sistem Global Alanı (SGA), veritabanı örnek ayağa kalktığında işletim sisteminden paylaşımlı bellek (POSIX Shared Memory / HugePages) olarak ayrılır. Oturumların ortak SQL ayrıştırma havuzunu (Shared Pool) ve disk blok önbelleğini (Buffer Cache) tutar.

Program Global Alanı (PGA) ise her istemci oturumu için ayrılan özel bellektir; ORDER BY sıralamaları, hash joinler ve cursor durumları PGA'da işlenir. Yetersiz PGA sorguların diske geçici (TEMP) yazmasına (direct path write temp) neden olur.

Üretim Gözlem ve Tanı Sorguları

Oracle
SELECT name, bytes/1024/1024 AS size_mb FROM v$sgainfo WHERE name IN ('Buffer Cache Size', 'Shared Pool Size', 'Redo Buffers');
SELECT name, value/1024/1024 AS size_mb FROM v$pgastat WHERE name IN ('total PGA allocated', 'maximum PGA allocated');