DBAtlas · Atlas für Datenbankbetrieb

enq: TX - row lock contention: Wait: Session durch Zeilensperre einer anderen Transaktion blockiert

Oracle

Was bedeutet das?

Eine Session wartet darauf, dass eine von einer anderen Transaktion gehaltene Zeilensperre freigegeben wird. Das ist das klassische Lock-Wait-Event auf Anwendungsebene.

Ursache

Parallele Transaktionen, die dieselbe Zeile aktualisieren wollen, lange nicht committete Transaktionen, breite Sperren durch nicht indizierte Foreign Keys oder Konzentration auf einen sequenziellen Schlüssel (Hot Block).

Lösung

Finde die blockierenden und blockierten Sessions: SELECT * FROM v$session WHERE blocking_session IS NOT NULL; und gleiche sie mit v$lock ab. Sind lange Transaktionen die Grundursache, überprüfe die Commit-Strategie. Indiziere Foreign-Key-Spalten. Überdenke das Design (Sequence, Hash) für Hot Rows. Beende die blockierende Session, wenn nötig.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank