sourcetip

Oracle에서 활성/열린 연결을 나열하는 방법

fileupload 2023. 4. 3. 21:41
반응형

Oracle에서 활성/열린 연결을 나열하는 방법

특정 순간에 활성 연결을 보여주는 숨겨진 테이블, 시스템 변수 또는 무언가가 있습니까?

뷰를 사용합니다.

V$SESSION에 각 현재 세션의 세션 정보를 나타냅니다.

자세한 답변은http://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; 

응용 프로그램 서버에서 데이터베이스로 들어오는 연결을 보려면 다음 명령을 사용합니다.

SELECT username FROM v$session 
WHERE username IS NOT NULL 
ORDER BY username ASC;

심플하지만 효과적입니다.

Select count(1) From V$session
where status='ACTIVE'
/
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

이 쿼리는 모든 백그라운드 프로세스를 필터링하려고 합니다.

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 osuser, count(*) as active_conn_count 
from v$session 
group by osuser 
order by active_conn_count desc

SQL > osuser를 선택하고 osuser별로 v$session 그룹에서 active_conn_count로 카운트(*)합니다.

OSUSER ACTIVE_CONN_COUNT


tepadm 20 oracle 39

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;

---액티브시온을 확인합니다---

SQL > SID, 시리얼 번호, 사용자 이름, 상태, 스키마 이름, 로그온_ 선택V$Session 시작 시간 WHERE 상태='ACTIVE' 및 UserName은 NULL이 아닙니다.

   SID    SERIAL# USERNAME                       STATUS   SCHEMANAME                     LOGON_TIM

   247      28849 SYS                            ACTIVE   SYS                            11-JAN-23
   251      27524 SAPSR3                         ACTIVE   SAPSR3                         11-JAN-23

언급URL : https://stackoverflow.com/questions/1043096/how-to-list-active-open-connections-in-oracle

반응형