Linux proses id ile ilgili veritabanındaki çalışan sorgunun tespiti

3 Oca by Ahmet Duruöz

Linux proses id ile ilgili veritabanındaki çalışan sorgunun tespiti

Linux üzerine kurulu Oracle veritabanlarında her bir kullanıcı proseslerinden , ilgili session bilgisine ulaşabilirsiniz. Çoğu zaman işletim sisteminde aşırı kaynak tüketen sorgunun ne olduğunun tespiti gerekmektedir. Bu tespit için linux üzerindeki ilgili prosesin proses id’si ile veritabanındaki session’ın spid bilgisi eşleştirilebilir.

Örneğin aşağıdaki örnekte olduğu gibi bir 32370 numaralı proses çok fazla cpu tüketmektedir. Bu prosesin hangi session’a ait olduğunun tespit edilip , ilgili sorgunun düzenlenmesi gerekmektedir.

Bu proses üzerinde hangi sorgu çalışıyor ve session bilgilerinin ne olduğunu öğrenmek için aşağıdaki sorguyu kullanabilirsiniz.

 SQL> select t.sql_id,t.sql_text from gv$process p , gv$session s , gv$sqlarea t
      where p.addr=s.paddr
      and s.sql_address=t.address
      and s.sql_hash_value=t.hash_value
      and p.spid = 32370;

Sorgudan dönen sql id bilgisini alarak bu sorgu ile ilgili mümkünse tunning task oluşturup, sorgunun iyileştirilmesini sağlayabilirsiniz.

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir