ORA-00054: recurso ocupado y adquirir con NOWAIT especificado o tiempo de espera expirado

¿Por qué recibo este error en la base de datos cuando actualizo una tabla?

ERROR en la línea 1: ORA-00054: recurso ocupado y adquirir con NOWAIT especificado o tiempo de espera expirado

Solución

Su tabla ya está bloqueada por alguna consulta. Por ejemplo, es posible que haya ejecutado "select for update" y aún no haya hecho commit/rollback y disparado otra consulta select. Haga un commit/rollback antes de ejecutar su consulta.

Comentarios (4)

desde aquí https://stackoverflow.com/questions/3075738/ora-00054-resource-busy-and-acquire-with-nowait-specified

También puedes buscar la información de sql, nombre de usuario, máquina, puerto y llegar al proceso real que mantiene la conexión

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;
Comentarios (5)

Su problema parece que está mezclando operaciones DML & DDL. Consulte esta URL que explica este problema:

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

Comentarios (0)