Oracle veritabanlarındaki oturumlar hakkında özet bilgi
Veritabanlarındaki mevcut oturumlar hakkında bilgi ihtiyacı sık sık gündeme gelmektedir. Oturumlardaki kim , hangi sunucu , ne zaman başlatılmış , çalışan program session bilgileri ve durumu gibi genel bilgilere aşağıdaki sorgu yardımıyla ulaşabiliriz. Ayrıca, sorgu ile oturumların bekleme sürelerinin de tespiti mümkündür.
SET LINESIZE 1000 SET PAGESIZE 45 COL "DB Username" FORM A17 COL "OS Username" FORM A15 COL "Consistent Gets" FORM 9999999999 COL "Physical Reads" FORM 9999999999 COL "Hit Rate" FORM 999.99 COL "Status" FORM A10 COL "SID" FORM 99999 COL "Serial #" FORM 99999 COL "Machine" FORM A25 COL "Program" FORM A65 COL "Logon Time" FORM A22 COL "Idle Time" FORM 9999999999 SELECT s.username "Oracle Username", s.osuser "OS Username", i.consistent_gets "Consistent Gets", i.physical_reads "Physical Reads", ROUND ( 100 - ( (I.PHYSICAL_READS * 100) / DECODE ( (I.CONSISTENT_GETS + I.BLOCK_GETS), 0, 1, (I.CONSISTENT_GETS + I.BLOCK_GETS))), 2) "Hit Rate", s.status "Status", s.sid "SID", s.serial# "Serial #", s.machine "Machine", s.program "Program", TO_CHAR (logon_time, 'DD/MM/YYYY HH24:MI:SS') "Logon Time", w.seconds_in_wait "Idle Time" FROM v$session s, v$sess_io i, v$session_wait w WHERE s.sid = i.sid AND s.sid = w.sid(+) AND 'SQL*Net message from client' = w.event(+) AND s.osuser IS NOT NULL AND s.username IS NOT NULL ORDER BY 6 ASC, 3 DESC, 4 DESC;