buffer busy waits: Espera: contención por un buffer que otra sesión ya está leyendo o modificando
Oracle¿Qué significa?
Una sesión espera para acceder a un bloque de buffer que otra sesión está leyendo o modificando al mismo tiempo. Es contención de bloques en memoria.
¿Por qué ocurre?
Concentración en hot blocks, contención en el extremo derecho de índices con claves monótonamente crecientes, freelists insuficientes/segmentos no ASSM o DML concurrente intenso sobre el mismo bloque.
Cómo solucionarlo
Averigüe qué segmento y qué clase de bloque están afectados (v$session, v$segment_statistics, ASH). Para bloques de índice calientes, considere un índice reverse key o particionado por hash. Use ASSM (Automatic Segment Space Management). Con alta concurrencia, aumente INITRANS/PCTFREE. Distribuya el patrón de acceso de la aplicación.
Más entradas de este motor
- log file syncEspera: sesión esperando a que LGWR escriba el redo en disco al hacer commit
- db file sequential readEspera: lectura física de un solo bloque, normalmente un acceso a índice o tabla
- db file scattered readEspera: lectura física multibloque, normalmente un full table scan o index fast full scan
- gc buffer busyEspera (RAC): contención por un bloque de cache fusion que se transfiere entre instancias
- library cache lockEspera: contención en el handle de un objeto del library cache (serialización de parse/DDL)
- ORA-00604error occurred at recursive SQL level (error en el nivel de SQL recursivo)
- ORA-01438value larger than specified precision allowed for this column (valor mayor que la precisión permitida para la columna)