DBAtlas · Atlas d'exploitation des bases de données

ORA-02049: Timeout: distributed transaction waiting for lock (délai expiré : transaction distribuée en attente de verrou)

Oracle

Que signifie cette erreur ?

Une transaction distribuée a dépassé DISTRIBUTED_LOCK_TIMEOUT en attendant un verrou sur la base de données distante. La transaction a expiré.

Cause

Une transaction s'exécutant via un database link attend une ligne verrouillée côté distant ; longues transactions dans la session distante, latence réseau, ou verrous en conflit détenus aux deux extrémités.

Comment la corriger

Trouvez et résolvez le verrou et la session bloquants sur la base de données distante (v$lock, v$session). Gardez les transactions distribuées courtes et acquérez les verrous nécessaires le plus tard possible. Si nécessaire, augmentez DISTRIBUTED_LOCK_TIMEOUT selon la charge (SPFILE, redémarrage requis). Pour les transactions distribuées in-doubt, examinez la vue DBA_2PC_PENDING et résolvez-les manuellement si nécessaire.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur