DBAtlas · Atlas für Datenbankbetrieb

ORA-02049: Timeout: distributed transaction waiting for lock (Timeout: verteilte Transaktion wartet auf Sperre)

Oracle

Was bedeutet das?

Eine verteilte Transaktion hat beim Warten auf eine Sperre in der entfernten Datenbank DISTRIBUTED_LOCK_TIMEOUT überschritten. Die Transaktion ist in einen Timeout gelaufen.

Ursache

Eine über einen Database Link laufende Transaktion wartet auf der entfernten Seite auf eine gesperrte Zeile; lange Transaktionen in der entfernten Session, Netzwerklatenz oder auf beiden Seiten gehaltene, kollidierende Sperren.

Lösung

Finde und löse die blockierende Sperre und Session in der entfernten Datenbank (v$lock, v$session). Halte verteilte Transaktionen kurz und fordere die nötigen Sperren so spät wie möglich an. Erhöhe bei Bedarf DISTRIBUTED_LOCK_TIMEOUT für die Last (SPFILE, Neustart erforderlich). Untersuche bei In-Doubt-Transaktionen die View DBA_2PC_PENDING und löse sie bei Bedarf manuell auf.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank