ORA-04030
Memória de processo (PGA) esgotada
O que significa
O processo não conseguiu alocar memória privada — sort/hash gigantes, PL/SQL com coleções enormes, vazamento, ou limite do SO atingido.
Ação imediata
Identifique o processo/SQL no trace do incidente (ele lista os maiores heaps).
Como diagnosticar somente leitura — seguro de executar
- Trace do ORA-4030 (top allocations)
- V$PROCESS.PGA_USED_MEM
AWR 'PGA Memory Advisory'; ulimit -v do usuário oracle.
Correção definitiva
Ajustar o SQL/PLSQL guloso (BULK COLLECT com LIMIT, hash join gigante); PGA_AGGREGATE_TARGET/LIMIT adequados; limites do SO coerentes.
Como prevenir
PGA_AGGREGATE_LIMIT dimensionado; alertas de PGA por sessão.