Oracle에서 활성 / 열린 연결을 나열하는 방법은 무엇입니까?


Answers

보다 완전한 대답은 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; 
Question

주어진 순간에 숨겨진 테이블, 시스템 변수 또는 활성 연결을 표시 할 수있는 것이 있습니까?




다음은 연결 수별로 정렬 된 운영 체제 사용자 목록을 제공하며 과도한 리소스 사용을 찾을 때 유용합니다.

select osuser, count(*) as active_conn_count 
from v$session 
group by osuser 
order by active_conn_count desc



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 
    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;



Links