buffer busy waits: Attente : contention sur un buffer déjà en cours de lecture ou de modification par une autre session
OracleQue signifie cette erreur ?
Une session attend d'accéder à un bloc de buffer qu'une autre session lit ou modifie au même moment. Il s'agit d'une contention de bloc en mémoire.
Cause
Concentration sur des blocs chauds, contention sur le bord droit d'index à clés monotones croissantes, freelists insuffisantes/segments non ASSM, ou DML concurrent intense sur le même bloc.
Comment la corriger
Déterminez le segment et la classe de bloc concernés (v$session, v$segment_statistics, ASH). Pour les blocs d'index chauds, envisagez un index à clé inversée (reverse key) ou partitionné par hachage. Utilisez ASSM (Automatic Segment Space Management). Sous forte concurrence, augmentez INITRANS/PCTFREE. Répartissez le schéma d'accès de l'application.
Autres entrées pour ce moteur
- log file syncAttente : session attendant que LGWR écrive le redo sur disque au commit
- 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
- gc buffer busyAttente (RAC) : contention sur un bloc cache fusion en cours de transfert entre instances
- library cache lockAttente : contention sur un handle d'objet du library cache (sérialisation parse/DDL)
- ORA-00604error occurred at recursive SQL level (erreur au niveau du SQL récursif)
- ORA-01438value larger than specified precision allowed for this column (valeur supérieure à la précision autorisée pour la colonne)