Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-15
제목 CPU 사용률이 높을경우
CPU를 과도하게 차지하고 있는 SESSION과 SQL문 TRACKING
====================================================

STEP 1) CPU를 과도하게 차지하고 있는 Process의 PID를 확인한다.
이것은 OS Utility(TOP 등)를 사용하여 확인할 수 있다.

SETP 2) 일단 PID를 확인하였으면 이 Process가 수행하고 있는 Session을 찾아야
한다

SQL> select a.sid, a.serial#
from v$session a, v$process b
where a.paddr= b.addr and b.spid= PID;

위에서 PID는 step 1에서 확인한 OS의 PID를 기술한다.

Session을 찾으면 v$session의 다른 column들을 통하여 현재
이 session에 더 많은 정보를 알 수 있다.


STEP 3) Session을 찾았으면 이 Session 에서 어떠한 SQL문이 수행되는지를
알아내야 한다.

SQL> set long 10000
SQL> select a.sql_text
from v$sqltext a, v$session b
where a.address=b.sql_address and
a.hash_value=b.sql_hash_value and
b.sid= SID_NUMBER
order by a.piece;

위에서 SID_NUMBER는 step 2에서 얻은 sid입니다.

STEP 4) SQL문의 적합성을 판단
612 보기 태그:
Comment
등록된 코멘트가 없습니다.