DBAtlas · Atlas für Datenbankbetrieb

ORA-00054: Resource busy and acquire with NOWAIT specified or timeout expired (Ressource belegt; NOWAIT angegeben oder Timeout abgelaufen)

Oracle

Was bedeutet das?

Die zu sperrende Ressource (Zeile oder Tabelle) ist von einer anderen Session gesperrt und konnte nicht sofort angefordert werden, weil NOWAIT angegeben war oder DDL_LOCK_TIMEOUT abgelaufen ist.

Ursache

Meist eine DDL (ALTER TABLE, DROP, CREATE INDEX), während die Tabelle von einer anderen Transaktion gesperrt ist; oder eine gesperrte Zeile bei SELECT ... FOR UPDATE NOWAIT.

Lösung

Finde die Session, die die Sperre hält: SELECT * FROM v$locked_object. Verknüpfe v$session und v$lock, um die blockierende Session zu ermitteln. Warte, bis die Transaktion endet, oder beende sie bei Bedarf mit ALTER SYSTEM KILL SESSION. Für DDL kannst du eine Wartezeit festlegen: ALTER SESSION SET DDL_LOCK_TIMEOUT = 60; Führe DDL in ruhigen Wartungsfenstern aus.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank