ORA-00054 Hatası ve çözümü

Programlama07/03/2019


Oracle database'de bir tabloda değişiklik yapmak istediğiniz de,

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

tarzında bir hata alıyorsanız, işlem yapmak istediğiniz tablo bir kullanıcı tarafından kullanılıyor demek. Kullanıcının ekrandan çıkması çoğu zaman sorunu çözerken, en kötü ihtimal oturumu zorla kapatabilirsiniz.

Oturumu ve kullanıcıyı tespit etmek 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;

Oturum bilgilerini aldıktan sonra sid ve serial# bilgilerini kullanarak oturumu kapatalım.

ALTER SYSTEM KILL SESSION 'sid,serial#';
Etiketler: , ,