log file sync: Espera: sesión esperando a que LGWR escriba el redo en disco al hacer commit
Oracle¿Qué significa?
Cuando una sesión hace COMMIT, espera a que LGWR escriba (flush) los registros de redo en los archivos de redo log. Si esta espera es alta, hay latencia de commit.
¿Por qué ocurre?
Discos de redo log lentos (alta latencia de E/S), una aplicación que hace commit con demasiada frecuencia (commit fila a fila), presión de CPU sobre el proceso LGWR o un volumen de redo muy alto.
Cómo solucionarlo
Mida el tiempo medio de espera con AWR/Statspack. Mueva los archivos de redo log a discos rápidos de baja latencia (SSD). Reduzca la frecuencia innecesaria de commit en la aplicación y agrupe las operaciones por lotes. Si es necesario, evalúe las opciones COMMIT_LOGGING/COMMIT_WAIT (commit_write) frente a los requisitos de negocio; ADVERTENCIA: NOWAIT/BATCH reducen la durabilidad y las transacciones que parecen confirmadas pueden perderse en una caída. Úselas solo a nivel de sesión o de sentencia para trabajos en los que la pérdida sea tolerable; no las active en todo el sistema. Examine conjuntamente la latencia de LGWR y del almacenamiento.
Más entradas de este motor
- ORA-01722Invalid number (número no válido)
- ORA-02049Timeout: distributed transaction waiting for lock (timeout de bloqueo en transacción distribuida)
- enq: TX - row lock contentionEspera: sesión bloqueada por un bloqueo de fila que mantiene otra transacción
- 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
- gc buffer busyEspera (RAC): contención por un bloque de cache fusion que se transfiere entre instancias