gc buffer busy: Wait (RAC): instance'lar arasında taşınan cache fusion block'u üzerinde contention
OracleNe demek?
RAC ortamında bir oturum, başka bir örnek (instance) ile cache fusion üzerinden aktarılan ya da o örnek tarafından meşgul edilen global bir bloğa erişmek için bekliyor.
Neden olur?
RAC düğümleri arasında aynı hot block'ların paylaşılması (cross-instance hot block), interconnect gecikmesi/darboğazı, sıralı anahtarlı index'lerde düğümler arası çekişme veya dengesiz iş yükü dağılımı.
Nasıl çözülür?
Etkilenen segmentleri v$segment_statistics ve GV$ view'larıyla bulun. Interconnect sağlığını ve gecikmesini kontrol edin (özel, hızlı ağ). Hot index'ler için reverse key veya hash bölümleme kullanın. İş yükünü hizmet (service) bazında düğümlere ayırarak aynı blokların düğümler arası çekişmesini azaltın.
Aynı motorda diğer kayıtlar
- db file sequential readWait: tek bloklu fiziksel okuma; genellikle index ya da tablo erişimi
- db file scattered readWait: çok bloklu fiziksel okuma; genellikle full table scan ya da index fast full scan
- buffer busy waitsWait: başka bir oturumun okuduğu ya da değiştirdiği buffer üzerinde contention
- library cache lockWait: library cache nesne handle'ı üzerinde contention (parse/DDL sıralaması)
- ORA-00604error occurred at recursive SQL level
- ORA-01438value larger than specified precision allowed for this column
- ORA-01400cannot insert NULL into (column)