Uzun süren sorguları / oturumları gör
OracleOturum & SüreçKomut
-- Aktif, uzun suren SQL'ler:
SELECT s.sid, s.serial#, s.username, s.status,
s.last_call_et AS saniye_aktif,
s.sql_id, q.sql_text,
s.event, s.machine, s.program
FROM v$session s
LEFT JOIN v$sql q ON q.sql_id = s.sql_id
AND q.child_number = s.sql_child_number
WHERE s.type = 'USER'
AND s.status = 'ACTIVE'
AND s.last_call_et > 60
ORDER BY s.last_call_et DESC;
-- Yuzde ilerlemeli uzun islemler:
SELECT sid, serial#, opname, sofar, totalwork,
ROUND(sofar/NULLIF(totalwork,0)*100,1) AS pct, time_remaining
FROM v$session_longops
WHERE sofar < totalwork ORDER BY start_time DESC;Ne yapar?
60 saniyeden uzun aktif oturumları ve uzun süren toplu işlemlerin ilerlemesini listeler.
Ne zaman kullanılır?
Yavaşlık şikayeti, hangi sorgunun sistemi meşgul ettiğini bulmak için.
Dikkat
last_call_et son çağrıdan bu yana geçen süredir; boşta bekleyen oturumda da büyük olabilir, status='ACTIVE' filtresi önemli. Sadece sorgu; risksiz.