All Oracle errors
ORA-00054lock

Resource busy — row locked

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

Why it happens

Another session holds a row or DDL lock on the object; WITH NOWAIT fails immediately instead of waiting.

How to fix it

Find the blocking session with v$session / v$lock, wait for it to commit or rollback, then retry. For DDL, schedule it outside peak hours or kill the blocker if it is a hung idle session.

A note on ORA-00054

This entry is part of a hand-curated set of ORA-, FRM-, REP- and TNS- codes that actually turn up in production Oracle estates — SQL*Plus, APEX, 19c/21c, ODP.NET apps, Oracle Forms 6i/12c and Reports included. The message text above is the canonical wording; the cause and fix are written in plain language so a developer or DBA can act without digging through pages of Oracle reference docs first.

Codes outside this list of 44 are far less common. If you hit one, the official Oracle error reference and your instance's alert or listener log remain the authoritative source.

Build custom software with us

From internal tools to full platforms — we deliver end to end.

Was this tool useful?