areum

[Oracle] 리소스 상태 확인하는 방법 본문

DB/ORACLE

[Oracle] 리소스 상태 확인하는 방법

armmy 2022. 12. 16. 11:00
728x90

오라클을 하다 보니 쿼리문 실행이 급격하게 느려지거나 실행이 안 되는 경우가 발생했다. 

그 이유는 다양하겠지만 그 중 리소스를 많이 잡아먹고 있는 user가 누구인지와 어떤 쿼리문으로 인해 용량을 잡아먹는지 살펴보고자 합니다.

 

방법 1: 현재 접속되어 있는 세션, 세션수, 최대, 한계값 확인
방법 2: 리소스를 많이 차지하는 sql test확인
방법 3: cpu 사용량 및 사용자 확인


1. 현재 접속되어 있는 세션, 세션수, 최대, 한계값 확인

select resource_name, current_utilization, max_utilization, limit_value
from v$resource_limit;

2. 리소스를 많이 차지하는 sql test확인

select buffer_gets, disk_reads, executions, sql_text
from v$sqlarea order by buffer_gets desc;

3. cpu 사용량 및 사용자 확인

select nvl(ss.USERNAME, 'ORACLE PROC') username, se.SID, serial#, value cpu_usage
from v$session ss, v$sesstat se, v$statname sn
wherese.STATISTIC# = sn.STATISTIC#
and NAME like '%CPU used by this session%'
and se.SID = ss.SID
order by VALUE desc