db file scattered read: Wait: çok bloklu fiziksel okuma; genellikle full table scan ya da index fast full scan
OracleNe demek?
Bir oturum, birden çok bloğun (multiblock) diskten okunmasını bekler. Genellikle tam tablo taraması (full table scan) veya index fast full scan sırasında oluşur.
Neden olur?
Uygun index bulunmaması nedeniyle full table scan, güncel olmayan istatistikler yüzünden yanlış plan, çok büyük tabloların taranması veya seçilen erişim yolunun tablo taramasına düşmesi.
Nasıl çözülür?
Full scan yapan SQL'leri belirleyin ve gerekli index'leri ekleyin ya da mevcut index'in kullanılmasını sağlayın. İstatistikleri güncelleyin: DBMS_STATS.GATHER_TABLE_STATS. Gerçekten büyük tarama gerekiyorsa paralel sorgu veya bölümleme (partitioning) değerlendirin. DB_FILE_MULTIBLOCK_READ_COUNT ve depolama verimini gözden geçirin.
Aynı motorda diğer kayıtlar
- enq: TX - row lock contentionWait: oturum, başka bir transaction'ın tuttuğu row-level lock'ı bekliyor
- log file syncWait: oturum, commit'te LGWR'ın redo'yu diske yazmasını bekliyor
- db file sequential readWait: tek bloklu fiziksel okuma; genellikle index ya da tablo erişimi
- buffer busy waitsWait: başka bir oturumun okuduğu ya da değiştirdiği buffer üzerinde contention
- gc buffer busyWait (RAC): instance'lar arasında taşınan cache fusion block'u üzerinde contention
- library cache lockWait: library cache nesne handle'ı üzerinde contention (parse/DDL sıralaması)
- ORA-00604error occurred at recursive SQL level