트러블슈팅 오라클 퍼포먼스 2판 (2017년)
메트릭 0 0 47,270

by 구루비스터디 메트릭 동적성능뷰 v$metricname v$metric metric [2023.09.08]


메트릭

  • 동적 성능 뷰의 누적 통계 값을 기반으로 메트릭을 제공

SQL> SELECT * FROM v$metricname WHERE rownum < 10;

GROUP_ID  GROUP_NAME                                                       METRIC_ID METRIC_NAME                                                      METRIC_UNIT
--------- ---------------------------------------------------------------- --------- ---------------------------------------------------------------- ----------------------------------------------------------------
        0 Event Metrics                                                            4 Total Wait Counts (Foreground)                                   Waits
        0 Event Metrics                                                            3 Total Time Waited (Foreground)                                   CentiSeconds
        0 Event Metrics                                                            2 Total Wait Counts                                                Waits
        0 Event Metrics                                                            1 Total Time Waited                                                CentiSeconds
        0 Event Metrics                                                            0 Number of Sessions Waiting (Event)                               Sessions
        1 Event Class Metrics                                                   1004 Total Wait Counts (Foreground)                                   Waits
        1 Event Class Metrics                                                   1005 Total Time Waited (Foreground)                                   CentiSeconds
        1 Event Class Metrics                                                   1002 Total Wait Counts                                                Waits
        1 Event Class Metrics                                                   1003 Total Time Waited                                                CentiSeconds


SQL> SELECT * FROM v$metricgroup ORDER BY group_id;

GROUP_ID  NAME                                                             INTERVAL_SIZE MAX_INTERVAL  >>> MAX_INTERVAL: 1/100초
--------- ---------------------------------------------------------------- ------------- ------------
        0 Event Metrics                                                             6000            1
        1 Event Class Metrics                                                       6000           60
        2 System Metrics Long Duration                                              6000           60
        3 System Metrics Short Duration                                             1500           12
        4 Session Metrics Long Duration                                             6000           60
        5 Session Metrics Short Duration                                            1500            1
        6 Service Metrics                                                           6000           60
        7 File Metrics Long Duration                                               60000            6
        9 Tablespace Metrics Long Duration                                          6000            0
       10 Service Metrics (Short)                                                    500           24
       11 I/O Stats by Function Metrics                                             6000           60
       12 Resource Manager Stats                                                    6000           60
       13 WCR metrics                                                               6000           60
       14 WLM PC Metrics                                                             500           24

--메트릭의 현재 값 보기
SQL> SELECT begin_time, end_time, value, metric_unit
  FROM v$metric
WHERE metric_name = 'Host CPU Usage Per Sec';

BEGIN_TIME           END_TIME             VALUE     METRIC_UNIT
-------------------- -------------------- --------- ----------------------------------------------------------------
2017/11/09 16:31:29  2017/11/09 16:32:29   1.7e+001 CentiSeconds Per Second
2017/11/09 16:32:44  2017/11/09 16:32:59   1.1e+001 CentiSeconds Per Second


현재 세션 상태: v$session

sid, serial#, saddr, audsid세션 식별
type세션 구분(BACKGROUND, USER)
login_time세션이 생성된 시간
username, user#사용자 식별
schemaname현재 사용 스키마
service_name접속하는데 사용된 서비스 이름
program애플리케이션 정보
machine애플리케이션 머신 정보
process애플리케이션의 프로세스 ID
osuser애플리케이션을 실행한 OS 사용자
server서버 프로세스 유형(DEDICATED, SHARED, PSEUDO, POOLED, NONE)
paddr서버 프로세스 주소
taddr현재 활성 트랙잭션의 주소
status세션 상태(ACTIVE, INACTIVE, KILLED, SNIPED, CACHED)
last_call_et현재 세션 상태의 유지 시간(초 단위)
command실행한 SQL 구문의 유형
sql_address, sql_hash_value, sql_id, sql_child_numberSQL과 관련된 커서 식별
sql_exec_startSQL이 시작된 시간
sql_exec_idSQL 실행 ID, 같은 커서가 초당 여러번 실행될 수 있기 때문에 필요
prev_sql_address, prev_hash_value, prev_sql_id, prev_child_number직전에 수행한 커서를 식별
prev_sql_exec_start이전 SQL이 시작된 시간
prev_sql_exec_id이전 SQL 실행 ID
plsql_entry_object_idPL/SQL 실행 시 호출된 최상위 레벨 프로그램 식별
plsql_entry_subprogram_idPL/SQL 실행 시 호출된 서브프로그램 식별
plsql_object_id현재 실행 중인 프로그램 식별(SQL 실행 시 NULL)
plsql_subprogram_id현재 실행 중인 서브프로그램 식별(SQL 실행 시 NULL)
client_identifier, module, action, client_info애플케이션 세션 속성 설정 시 조회 가능
statWATING 시 대기 상태, 아니면 CPU 사용 중(status의 ACTIVE와 동일)
event이벤트 이름
wait_class, wait_class#대기 클래스
p1text, p1, p1raw, p2text, p2, p2raw, p3text, p3, p3raw대기 이벤트의 상태 정보
seconds_in_wait, wait_time_micro해당 대기 이벤트를 대기한 시간
blocking_session_status세션이 다른 세션에 의해 블로킹 되었는지 표시(블로킹 시 VALID)
blocking_instance, blocking_session블로킹 시 블로킹하고 있는 세션 식별
row_wait_obj#, row_wait_file#, row_wait_block#, row_wait_row#로우 락과 같이 특정 로우를 대기 중일 때 대기 중인 로우 식별


"데이터베이스 스터디모임" 에서 2017년에 "전문가를 위한 트러블슈팅 오라클 퍼포먼스(Second Edition) " 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/4340

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입