log file sync: Attente : session attendant que LGWR écrive le redo sur disque au commit
OracleQue signifie cette erreur ?
Lorsqu'une session effectue un COMMIT, elle attend que LGWR écrive (flush) les enregistrements redo dans les fichiers redo log. Si cette attente est élevée, il y a une latence de commit.
Cause
Disques de redo log lents (latence d'E/S élevée), application qui effectue des commits trop fréquents (commit ligne par ligne), pression CPU sur le processus LGWR, ou volume de redo très élevé.
Comment la corriger
Mesurez le temps d'attente moyen avec AWR/Statspack. Déplacez les fichiers redo log sur des disques rapides à faible latence (SSD). Réduisez la fréquence des commits inutiles dans l'application et regroupez les traitements par lots. Si nécessaire, évaluez les options COMMIT_LOGGING/COMMIT_WAIT (commit_write) au regard des exigences métier ; ATTENTION : NOWAIT/BATCH réduisent la durabilité, et des transactions apparemment validées peuvent être perdues lors d'un crash. Utilisez-les uniquement au niveau de la session ou de l'instruction pour des traitements où une perte est tolérable ; ne les activez pas à l'échelle du système. Examinez ensemble la latence de LGWR et celle du stockage.
Autres entrées pour ce moteur
- ORA-01722Invalid number (nombre invalide)
- ORA-02049Timeout: distributed transaction waiting for lock (délai expiré : transaction distribuée en attente de verrou)
- enq: TX - row lock contentionAttente : session bloquée sur un verrou de ligne détenu par une autre transaction
- db file sequential readAttente : lecture physique d'un seul bloc, généralement un accès par index ou à une table
- db file scattered readAttente : lecture physique multibloc, généralement un full table scan ou un index fast full scan
- buffer busy waitsAttente : contention sur un buffer déjà en cours de lecture ou de modification par une autre session
- gc buffer busyAttente (RAC) : contention sur un bloc cache fusion en cours de transfert entre instances