gc buffer busy: Espera (RAC): contención por un bloque de cache fusion que se transfiere entre instancias
Oracle¿Qué significa?
En un entorno RAC, una sesión espera para acceder a un bloque global que se está transfiriendo mediante cache fusion desde/hacia otra instancia o que esa instancia mantiene ocupado.
¿Por qué ocurre?
Los mismos hot blocks compartidos entre nodos RAC (hot block entre instancias), latencia/cuello de botella del interconnect, contención entre nodos en índices con claves secuenciales o una distribución desequilibrada de la carga de trabajo.
Cómo solucionarlo
Encuentre los segmentos afectados con v$segment_statistics y las vistas GV$. Compruebe el estado y la latencia del interconnect (red privada y rápida). Use reverse key o particionamiento por hash para índices calientes. Reduzca la contención entre nodos sobre los mismos bloques separando la carga de trabajo entre nodos por servicio.
Más entradas de este motor
- 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
- buffer busy waitsEspera: contención por un buffer que otra sesión ya está leyendo o modificando
- 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)
- ORA-01400cannot insert NULL into (column) (no se puede insertar NULL en la columna)