buffer busy waits: Wait: Konkurrenz um einen Buffer, den eine andere Session bereits liest oder ändert
OracleWas bedeutet das?
Eine Session wartet auf Zugriff auf einen Buffer-Block, den eine andere Session gleichzeitig liest oder ändert. Das ist Blockkonkurrenz im Speicher.
Ursache
Konzentration auf Hot Blocks, Konkurrenz am rechten Rand von Indizes mit monoton steigenden Schlüsseln, zu wenige Freelists/Segmente ohne ASSM oder starke parallele DML auf demselben Block.
Lösung
Finde heraus, welches Segment und welche Blockklasse betroffen sind (v$session, v$segment_statistics, ASH). Erwäge für Hot-Index-Blöcke einen Reverse-Key- oder Hash-partitionierten Index. Verwende ASSM (Automatic Segment Space Management). Erhöhe bei hoher Parallelität INITRANS/PCTFREE. Verteile das Zugriffsmuster der Anwendung.
Weitere Einträge zu dieser Datenbank
- log file syncWait: Session wartet beim Commit, bis LGWR Redo auf Disk schreibt
- db file sequential readWait: physischer Single-Block-Read, typisch bei Index- oder Tabellenzugriff
- db file scattered readWait: physischer Multi-Block-Read, typisch bei Full Table Scan oder Index Fast Full Scan
- gc buffer busyWait (RAC): Konkurrenz um einen Cache-Fusion-Block, der zwischen Instanzen übertragen wird
- library cache lockWait: Konkurrenz um ein Library-Cache-Objekthandle (Parse-/DDL-Serialisierung)
- ORA-00604error occurred at recursive SQL level (Fehler auf rekursiver SQL-Ebene)
- ORA-01438value larger than specified precision allowed for this column (Wert größer als die für die Spalte erlaubte Precision)