Skip to end of metadata
Go to start of metadata

 

Statement


쿼리의 상태를 확인하기 위한 각 모니터링 쿼리를 설명한다.

쿼리 수행과 관련된 상세한 시간 정보를 확인하기 위해서 기본적으로 TIMED_STATISTICS가 활성화(1)되어 있어야 한다.
특정 세션에 관한 정보만 모니터링 하려면 WHERE 절에 v$statement의 'session_id' 컬럼을 추가하여 사용한다.

 

TIMED_STATISTICS 활성화 방법
  • TIMED_STATISTICS는 알티베이스 5버전부터 지원하는 알티베이스 서버 프로퍼티이다. 
  • TIMED_STATISTICS를 활성화하면 활성화 이후에 수행된 쿼리들의 시간 정보를 알 수 있다.  

 

[ST01] 전체 쿼리 개수[맨 위로]

  • 알티베이스 4 이상 버전에서 사용할 수 있다.  

 

[ST02] 쿼리 정보[맨 위로]

  • 알티베이스 4 이상 버전에서 사용할 수 있다.  

  • 주요 컬럼 설명

    STMT_ID쿼리의 아이디
    TX_ID해당 쿼리를 수행시킨 트랜잭션의 아이디
    PREPARE_TIMEprepare(parse, validation, optimization)를 수행하는데 소요된 시간으로 단위는 초다. 쿼리가 수행될 때마다 갱신된다. TIMED_STATISTICS를 활성화해야 볼 수 있다. 알티베이스 4 버전에서는 TIMED_STATISTICS를 제공하지 않으므로 이 값은 무의미하다.
    FETCH_TIMEprepare 완료 후 execution을 수행하는데 소요된 시간으로 쿼리가 수행될 때마다 갱신된다. query timeout의 기준이 되며 단위는 초다. TIMED_STATISTICS를 활성화해야 볼 수 있다. 알티베이스 4 버전에서는 TIMED_STATISTICS를 제공하지 않으므로 이 값은 무의미하다.
    EXECUTE_TIME쿼리에 대한 결과를 클라이언트가 가져갈(fetch) 때 걸리는 시간이다. 결과의 크기에 따라 하나의 쿼리는 여러 번의 fetch를 수행할 수 있으며 이때마다 갱신된다. fetch_timeout의 기준이 되며 단위는 초이다. TIMED_STATISTICS를 활성화해야 볼 수 있다.  알티베이스 4 버전에서는 TIMED_STATISTICS를 제공하지 않으므로 이 값은 무의미하다.
    TOTAL_TIME하나의 쿼리가 수행되기 위해 소요된 시간의 합계를 의미하는 것으로 prepare, fetch, execution을 모두 포함한다. 쿼리가 수행될 때마다 갱신되며 단위는 단위는 초이다. TIMED_STATISTICS를 활성화해야 볼 수 있다. 알티베이스 4 버전에서는 TIMED_STATISTICS를 제공하지 않으므로 이 값은 무의미하다.
    EXECUTE_FLAG이 값이 0이면 prepare만 된 상태이며 1이면 execution 중인 상태이다.
    LAST_START_TIME가장 마지막으로 수행된 쿼리가 수행된 시각으로 단위는 유닉스 시각(unix time)이다.

 

[ST03] 현재 수행 중인 쿼리 개수[맨 위로]

  • 알티베이스 4 이상 버전에서 사용할 수 있다.  

 

[ST04] 현재 수행 중인 쿼리 정보[맨 위로]

  • 알티베이스 4 이상 버전에서 사용할 수 있다.  
  • 컬럼 설명은 [ST02] 의 '주요 컬럼 설명' 부분을 참고하자. 

 

[ST05] 장시간으로 수행 쿼리 정보 [맨 위로]

  • 600초 이상 수행 중인 쿼리 정보를 보여준다.  
  • 알티베이스 4 이상 버전에서 사용할 수 있다.  
  • 컬럼 설명은 [ST02] 의 '주요 컬럼 설명' 부분을 참고하자. 

 

[ST06] 장시간 수행되는 DML트랜잭션의 마지막 쿼리 정보 [맨 위로]

  • 3600초 이상, 장시간 수행 중인 트랜잭션의 마지막 쿼리 정보를 보여준다. 

  • 알티베이스 4 이상 버전에서 사용할 수 있다. 단 SELECT 절에서 SS.CLIENT_APP_INFO 컬럼은 주석 처리하거나 삭제해야 한다. SS.CLIENT_APP_INFO 는 알티베이스 5 버전부터 제공하는 컬럼이다. 

  • 주요 컬럼 설명

    다른 컬럼에 대한 설명은 [ST02] 의 '주요 컬럼 설명' 부분을 참고하자. 

    UTRANS_TIME

    트랜잭션이 최초에 변경연산을 시작한 시점을 기준으로 현재까지의 경과시간을 의미한다. UTRANS_TIME의 기준이 되며 단위는 초(sec)다.

    참고로 이 값을 계산하기 위한 v$sessionmgr의 base_time과 v$transaction의 first_update_time은 TIMED_STATISTICS 프로퍼티를 활성화(0)하지 않아도 갱신된다.

 

[ST07] 풀 스캔 쿼리 정보[맨 위로]

  • 알티베이스 4 이상 버전에서 사용할 수 있다.  단, SELECT 절에서 SS.CLIENT_APP_INFO 컬럼은 주석처리하거나 삭제해야 한다. SS.CLIENT_APP_INFO 는 알티베이스 5 버전부터 제공하는 컬럼이다. 

  • 컬럼에 대한 설명은 [ST02] 의 '주요 컬럼 설명' 부분을 참고하자. 

 

[ST08] 풀 스캔 쿼리 수행 횟수 통계 [맨 위로]

  • 알티베이스 4 이상 버전에서 사용할 수 있다.  

  • 주요 컬럼 설명

    execute_cnt성공적으로 수행 완료된 쿼리 실행 횟수의 합계

 

[ST09] 세션 별 쿼리 목록[맨 위로]

  • 알티베이스 4 이상 버전에서 사용할 수 있다.   

 

[ST10] 세션 당 statement 생성 수

  • 알티베이스 4 이상 버전에서 사용할 수 있는 쿼리이다. 

  • 주요 컬럼 설명

    CURR_STMT_CNT_PER_SESSION

    해당 세션에서 관리하는 Statement 갯수

     

     

 

 

  • No labels