ORA-00054 Recurso ocupado y obtenido con NOWAIT especificado

Fernando Galvis
14 de Julio del 2004
Como desbloquear una Tabla, pues en ella realizaron transacciones y se le olvido dar ROLLBACK

Enrique
14 de Julio del 2004
Una alternativa, si se pueden cancelar las transacciones es bajar la base de datos SHUTDOWN ABORT. Automaticamente Oracle hara un rollback y TODAS las transacciones SE PIERDEN desde el ultimo COMMIT

dieferme
14 de Julio del 2004
A mi me ha pasado cuando trato de truncar una tabla a la que se esta accesando constantemente, pero repito la instruccion y funciona Ok, lo que deberias de investigar es como darle la opcion no_wait.

Si es por una sesion inconclusa, se puede sacar con este script

select 'Alter system kill session '''||a.sid||','||a.serial#||''';',
substr(b.owner,1,8) "schema",
substr(b.object_name,1,20) "object Name ",
substr(b.object_type,1,10) "type ",
substr(c.segment_name,1,8) "rbs ",
substr(d.used_urec,1,12) "# of records ", a.status, a.process, a.machine
from v$locked_object l,
dba_objects b,
dba_rollback_segs c,
v$transaction d,
v$session a
where l.object_id = b.object_id and
l.xidusn = c.segment_id and
l.xidusn = d.xidusn and
l.xidslot = d.xidslot and
d.addr = a.taddr

kupevan
14 de Julio del 2004
Es un error bastante raro, suele ocurrir en la versiones 7 , supongo que tendras esa versión , para solucionarlo debes recompilar los ficheros: ktb.c kts.c ktu.c , pero te aconsejo que también le eches un vistazo a los bloqueos que tienes en la BD