Oracle Hard Parse Artışı ve Shared Pool Baskısı: Kök Neden
Hard parse oranını ve cursor çoğalmasını ölçerek bind variable, plan değişimi ve istatistik sorunlarını ayırır; shared pool'u boşaltmadan çözüm üretir.
Operasyonel Güvenlik ve Risk Uyarısı
Bu runbook müdahale adımları içerir; birçok adım yazma etkilidir (KILL, terminate, DROP, RESIZE). Önce test ortamında deneyin, üretimde adımları sırayla ve doğrulayarak uygulayın.
1. Belirti / Symptom
- M46 hard parse oranı baseline üstünde; CPU ve `library cache: mutex X`, `cursor: pin S wait on X` gibi beklemeler artabilir.
- Aynı sorgunun farklı literal değerlerle çok sayıda benzeri bulunur.
2. Etki / Impact
CPU parse işlemine harcanır, eşzamanlılık ve yanıt süreleri bozulur; shared pool alanı verimsiz kullanılır.
3. Teşhis / Diagnosis
SELECT name, value FROM v$sysstat
WHERE name IN ('parse count (hard)','parse count (total)','execute count')
ORDER BY name;SELECT * FROM (
SELECT sql_id, executions, parse_calls, version_count,
SUBSTR(sql_text,1,120) AS sql_text
FROM v$sqlarea
WHERE parse_calls > 100
ORDER BY parse_calls DESC
) WHERE ROWNUM <= 20;4. Müdahale / Response
5. Doğrulama / Verification
- İki ölçüm arası hard parse / toplam parse oranı baseline'a döndü; CPU ve library cache beklemeleri azaldı, M46 düzeldi.
- Sorgu yanıt süresi iyileşti, plan regresyonu yok.
6. Geri Alma / Rollback
- Uygulama bind değişikliği önceki sürüme döndürülür; `SESSION_CACHED_CURSORS` eski değere alınır.
- İstatistik değişiklikleri için önceki istatistikleri yedeklemeden otomatik geri alma varsaymayın; eski/yeni planları karşılaştırın.
Mühendislik Triadı: Doğrudan Teşhis Scriptleri
Bu runbook kriz müdahalesinde darboğazı tespit etmek için önerilen hazır SQL / Shell scriptleri:
Oracle En Pahalı SQL'ler: v$sqlstats ile Top 20
Geçen süreye göre en maliyetli SQL'leri çalışma sayısı, CPU ve I/O ile gösterir. Ayar için hangi SQL_ID'nin inceleneceğini belirler.
Oracle'da Eski (Stale) Optimizer İstatistikleri
İstatistiği eski veya hiç toplanmamış tabloları bulur. Kötü execution plan'ların en yaygın sebebini yakalar.
Oracle SGA ve PGA Bellek Kullanımı
SGA bileşenlerini ve PGA hedefi ile gerçek kullanımı gösterir. Bellek boyutlandırma kararlarının ilk verisidir.