04 Temmuz 2007

Oracle'da Kill Process İşlemi

Veritabanlarının doğal süreçleri olarak kabul edilen deadlock lar Oracle üzerinde oluştuğunda aşağıdaki nacizane hatayı alırız.

ORA-00054 resource busy and acquire with NO WAIT specified

Bu durumda hata oluşan prosesi kill etmek yoluyla kaynağı boşaltabiliriz.Öncelikle aşağıdaki sorguyla lock oluşan işlemleri listeleyelim.

SELECT o.object_id,s.sid,s.serial#,o.object_type,o.object_name,
l.oracle_username,os_user_name,locked_mode,s.program
FROM v$locked_object l,dba_objects o,v$session s
WHERE l.object_id = o.object_id AND l.session_id=s.sid

Daha sonra da istediğimiz sessionları aşağıdaki sorguyla bitirebiliriz.

ALTER SYSTEM KILL SESSION 'sid,serial'

2 yorum:

Adsız dedi ki...

hocam paylaşım için teşekkürler,şahsım adına işimi gördü :) emeğine sağlık. güzel bir blog olmuş

Adsız dedi ki...

Hocam ellerine emeğine sağlık işimi gördü :)