[오라클] CPU 사용량 분석 SQL

|
반응형

Oracle CPU 사용량 분석 쿼리

 

작업 환경
OS: Oracle Linux 8.9
DB: Oracle 19c

 

간단한 오라클 CPU 사용량 분석하는 SQL입니다.

DB 서버 기준 어떤 시점에 CPU 사용량이 급격하게 높아지는지 분석할때 많이 사용합니다.<

트렉젝션이 몰릴때 CPU 사용량 분석 차트 만들어서 편리하게 사용할수 있어요.

통계정보 보관 주기와 관련이 있기 때문에 가능하면 (1시간, 90일)로 설정을 해주시고 테스트를 진행하면 좋아요.

- 통계 정보 보관 주기 변경 방법 1시간 , 90일 보관(sqlplus / as sysdba 실행)

exec dbms_workload_repository.modify_snapshot_settings(interval=>60, retention=>90*24*60);

 

 

 

 

 

SQL 스크립트:

- CPU 분석 일자: 2023년 10월 1일 ~ 2023년 10월 5일

- WHERE 조건 BEGIN_INTERVAL_TIME을 원하는 일자로 변경해주세요.

SELECT
    (SELECT TO_CHAR(BEGIN_INTERVAL_TIME, 'YY/MM/DD(DY) HH24') 
     FROM DBA_HIST_SNAPSHOT 
     WHERE SNAP_ID = A.SNAP_ID) AS "BEGIN_TIME",
    ROUND(A.AVERAGE,2) AS "CPU_USAGE" ,
FROM 
  DBA_HIST_SYSMETRIC_SUMMARY A
  , (
     SELECT
         MIN(SNAP_ID) "MIN_SNAP_ID"
       , MAX(SNAP_ID) "MAX_SNAP_ID"
    FROM DBA_HIST_SNAPSHOT
    WHERE BEGIN_INTERVAL_TIME >= TO_DATE('2023/12/01 00:00','YYYY/MM/DD HH24:MI')
    AND    BEGIN_INTERVAL_TIME <  TO_DATE('2023/12/05 00:00','YYYY/MM/DD HH24:MI')
   ) B
WHERE 1=1
AND A.SNAP_ID >= B.MIN_SNAP_ID
AND A.SNAP_ID <= B.MAX_SNAP_ID
AND METRIC_NAME = 'Host CPU Utilization (%)'
ORDER BY SNAP_ID;

 

 

CPU 1시간 단위 평균 사용량 차트

 

 

 

 

 

 

 

반응형
And