728x90
오라클 CPU 점유율 확인 및 세션 킬하는 방법 입니다.
아래 쿼리로
SELECT NVL(D.USERNAME,'SYSTEM USE') USERNAME
, A.VALUE CPU_USAGE
, A.SID
, D.SERIAL#
, D.BLOCKING_SESSION_STATUS
, C.SQL_FULLTEXT
FROM V$SESSION D, V$SESSTAT A, V$STATNAME B, V$SQLAREA C
WHERE A.SID = D.SID
AND A.STATISTIC# = B.STATISTIC#
AND B.NAME LIKE '%CPU used by this session%'
AND D.PREV_SQL_ID = C.SQL_ID
-- AND D.BLOCKING_SESSION_STATUS = 'VALID'
AND ROWNUM <= 10
ORDER BY A.VALUE DESC
조회하면 아래와 같이 내역이 나온다. 마지막 SQL_FULLTEXT 컬럽에는 쿼리가 확인 되는데 sql 클라이언트에 따라 안보이면 더블클릭으로 확인 가능하다.
아래와 같은 방식으로 쿼리를 실행하면 해당 세션을 킬할수 있다.
ALTER SySTEM KILL '<SID>',<SERIAL#>';
맨위에꺼를 킬하고싶다면 아래처럼 하면 된다.
ALTER SySTEM KILL '1026',10230';
728x90
'SQL > Oracle' 카테고리의 다른 글
ora-12638 신용검색에 실패했습니다. 해결법 (0) | 2022.05.23 |
---|---|
오라클 이유 없이 CPU 점유율이 과다하게 높을때 (2) | 2022.04.12 |
ORA-00942 테이블 또는 뷰가 존재하지 않습니다 (0) | 2021.06.05 |
숫자금액을 한글금액으로 변환 펑션 (0) | 2020.12.21 |
oracle sql 문자 바꾸기 replace함수 (0) | 2020.08.14 |
댓글