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.
SELECT owner, table_name, num_rows, last_analyzed, stale_stats
FROM dba_tab_statistics
WHERE owner NOT IN ('SYS','SYSTEM','XDB','MDSYS','CTXSYS')
AND object_type = 'TABLE'
AND (stale_stats = 'YES' OR last_analyzed IS NULL)
ORDER BY num_rows DESC NULLS LAST;Önce `EXEC DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;` çalıştırmak daha doğru sonuç verir.
- Bu script salt okunur (read-only) teşhis için tasarlanmıştır; doğrudan veri veya şema değişikliği yapmaz.
- Ağır yük altındaki üretim sunucularında çalıştırmadan önce hedef veritabanı sürümünü (Min. Sürüm: 11g) doğrulayın.
- İlişkili oturumu sonlandırma veya indeks silme gibi yazma etkili aksiyonlar için notlar bölümündeki komutları temkinli uygulayın.
Diğer ORACLE Teşhis Scriptleri
Tümünü Gör (100)Oracle Aktif Oturumlar ve Bekleme Olayları
Aktif kullanıcı oturumlarını, çalışan SQL_ID'yi ve bekleme olayını süresiyle listeler. Performans sorunlarında anlık durumu görmek için kullanılır.
Oracle Bloklayan Oturumları Bulma
Başka bir oturumu bekleten oturumları ve bekleme sürelerini gösterir. Kilit sorunlarında sonlandırılacak kök oturumu belirler.
Oracle Tablespace Doluluk Oranı (Autoextend Dahil)
Autoextend sınırlarını hesaba katarak tablespace doluluğunu gerçek maksimuma göre verir. ORA-01653 gibi alan hatalarını önceden yakalamanızı sağlar.
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.