Apakah ada tabel tersembunyi, variabel sistem atau sesuatu untuk menunjukkan koneksi aktif pada saat tertentu?
Apakah ada tabel tersembunyi, variabel sistem atau sesuatu untuk menunjukkan koneksi aktif pada saat tertentu?
Jawaban:
Gunakan V$SESSION
view.
V$SESSION
menampilkan informasi sesi untuk setiap sesi saat ini.
Untuk jawaban yang lebih lengkap, lihat: 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;
Ketika saya ingin melihat koneksi yang masuk dari server aplikasi kami ke database saya menggunakan perintah berikut:
SELECT username FROM v$session
WHERE username IS NOT NULL
ORDER BY username ASC;
Sederhana tetapi efektif.
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
Kueri ini berupaya memfilter semua proses latar belakang.
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;