All Oracle errors
FRM-40501forms

Unable to reserve record for update or delete

FRM-40501: ORACLE error: unable to reserve record for update or delete.

Why it happens

Another session holds a lock on the row, or the row was deleted after the block queried it, so Forms cannot obtain the row lock.

How to fix it

Find the blocking session in v$lock / v$session, let it commit or roll back, re-query the block and retry. For expected contention, handle the ON-LOCK trigger and show a friendly retry message.

A note on FRM-40501

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?