Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
"ora-00054 kaynak meşgul ve nowait " hatası

Açık 2 Cevaplar 366 Gösterim Veri Tabanı
Veri tabanında bir tabloyu truncate etmeye çalışırken  "ora-00054 kaynak meşgul ve nowait" hatası aldım.  Nasıl tabloyu truncate ederim, locked halini nasıl kill ederiz.

delete from table_name yapınca silebilmiştim. Denk mi geldi pek bilmiyorum.
1Yorumlar
(1.9k puan)
Şu linkte açıklama buldum ancak buradaki objelere yetkim olmadığından deneyemedim.

http://www.vitalsofttech.com/ora-00054-resource-busy-and-acquire-with-nowait-specified-or-timeout-expired/

2 Cevap

1

Truncate atmak istediğin tablo üzerinde bir lock varsa atamazsın. Lock atan session'u bulup kill edebilirsen sonrasında atabilirsin.

Sessionu bulabilmek için

select
   c.owner,
   c.object_name,
   c.object_type,
   b.sid,
   b.serial#,
   b.status,
   b.osuser,
   b.machine
from
   v$locked_object a ,
   v$session b,
   dba_objects c
where
   b.sid = a.session_id
and
   a.object_id = c.object_id;

Sessionu kill etmek için

ALTER SYSTEM KILL SESSION 'sid,serial#';

(4.2k puan)
0
Tolga,

Eğer kayıtlarla ilgili bir ekranda çalışan varsa ekrandan çıkması da yeterli olabilir.
(374 puan)