ORA-00054: Ressource beschäftigt und Erwerb mit NOWAIT angegeben oder Timeout abgelaufen

Warum erhalte ich diesen Datenbankfehler, wenn ich eine Tabelle aktualisiere?

ERROR in Zeile 1: ORA-00054: Ressource beschäftigt und Erwerb mit NOWAIT angegeben oder Timeout abgelaufen

Lösung

Ihre Tabelle ist bereits durch eine Abfrage gesperrt. Sie haben z.B. "select for update" ausgeführt und noch kein Commit/Rollback durchgeführt und eine weitere Select-Abfrage ausgelöst. Führen Sie ein Commit/Rollback durch, bevor Sie Ihre Abfrage ausführen.

Kommentare (4)

von hier https://stackoverflow.com/questions/3075738/ora-00054-resource-busy-and-acquire-with-nowait-specified

Sie können auch die Sql-, Benutzernamen-, Rechner- und Port-Informationen nachschlagen und so zu dem eigentlichen Prozess gelangen, der die Verbindung hält

SELECT O.OBJECT_NAME, S.SID, S.SERIAL#, P.SPID, S.PROGRAM,S.USERNAME,
S.MACHINE,S.PORT , S.LOGON_TIME,SQ.SQL_FULLTEXT 
FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S, 
V$PROCESS P, V$SQL SQ 
WHERE L.OBJECT_ID = O.OBJECT_ID 
AND L.SESSION_ID = S.SID AND S.PADDR = P.ADDR 
AND S.SQL_ADDRESS = SQ.ADDRESS;
Kommentare (5)

Ihr Problem sieht so aus, dass Sie DML- und DDL-Operationen vermischen. Siehe diese URL, die dieses Problem erklärt:

http://www.orafaq.com/forum/t/54714/2/

Kommentare (0)