Belirli bir anda etkin bağlantıları gösteren herhangi bir gizli tablo, sistem değişkeni veya bir şey var mı?
Belirli bir anda etkin bağlantıları gösteren herhangi bir gizli tablo, sistem değişkeni veya bir şey var mı?
Yanıtlar:
V$SESSION
Görünümü kullanın .
V$SESSION
geçerli her oturum için oturum bilgilerini görüntüler.
Daha eksiksiz bir yanıt için bkz. Http://dbaforums.org/oracle/index.php?showtopic=16834
select
substr(a.spid,1,9) pid,
substr(b.sid,1,5) sid,
substr(b.serial#,1,5) ser#,
substr(b.machine,1,6) box,
substr(b.username,1,10) username,
-- b.server,
substr(b.osuser,1,8) os_user,
substr(b.program,1,30) program
from v$session b, v$process a
where
b.paddr = a.addr
and type='USER'
order by spid;
Uygulama sunucularımızdan veritabanına gelen bağlantıları görüntülemek istediğimde aşağıdaki komutu kullanıyorum:
SELECT username FROM v$session
WHERE username IS NOT NULL
ORDER BY username ASC;
Basit ama etkili.
select s.sid as "Sid", s.serial# as "Serial#", nvl(s.username, ' ') as "Username", s.machine as "Machine", s.schemaname as "Schema name", s.logon_time as "Login time", s.program as "Program", s.osuser as "Os user", s.status as "Status", nvl(s.process, ' ') as "OS Process id"
from v$session s
where nvl(s.username, 'a') not like 'a' and status like 'ACTIVE'
order by 1,2
Bu sorgu tüm arka plan işlemlerini filtrelemeye çalışır.
select
username,
osuser,
terminal,
utl_inaddr.get_host_address(terminal) IP_ADDRESS
from
v$session
where
username is not null
order by
username,
osuser;
select status, count(1) as connectionCount from V$SESSION group by status;
select
count(1) "NO. Of DB Users",
to_char(sysdate,'DD-MON-YYYY:HH24:MI:SS') sys_time
from
v$session
where
username is NOT NULL;