제37장 DBMS_SQLTUNE

내용 목차

37.1. 개요
37.2. 프러시저와 함수
37.2.1. REPORT_SQL_MONITOR

본 장에서는 DBMS_SQLTUNE 패키지의 기본 개념과 패키지 내의 프러시저와 함수를 사용하는 방법을 설명한다.

현재 DBMS_SQLTUNE 패키지는 실시간 SQL 모니터링 기능에 대한 보고서를 생성해 주는 REPORT_SQL_MONITOR 함수 하나만을 제공하고 있는 패키지이다.

본 절에서는 DBMS_SQLTUNE 패키지에서 제공하는 프러시저와 함수를 알파벳 순으로 설명한다.

특정 SQL 수행에 대해서 실시간 SQL 모니터링 기능에 의해 수집된 성능 관련 정보를 보고서 형태로 돌려준다. 보고서 형식은 텍스트 형식이다.

REPORT_SQL_MONITOR 함수의 세부 내용은 다음과 같다.

  • 프로토타입

    DBMS_SQLTUNE.REPORT_SQL_MONITOR
    (
        sql_id         IN VARCHAR DEFAULT NULL,
        session_id     IN NUMBER  DEFAULT NULL,
        session_serial IN NUMBER  DEFAULT NULL,
        sql_exec_start IN DATE    DEFAULT NULL,
        sql_exec_id    IN NUMBER  DEFAULT NULL
    ) 
    RETURN CLOB;
  • 파라미터

    파라미터설명
    sql_id

    보고서를 생성할 SQL 수행의 SQL 식별자이다.

    여기에 NULL을 명시하면 현재 시스템에서 가장 최근에 모니터링된 SQL 수행에 대한 보고서를 생성한다.

    session_id

    이 값이 NULL이 아니면 이 값이 명시하는 세션에서 수행된 SQL 수행에 한정하여 보고서를 생성할 수 있다.

    만약, 이 파라미터에 NULL 이 아닌 값을 명시하고 sql_id 파라미터에 NULL을 명시할 경우에 해당 세션에서 가장 최근에 모니터링된 SQL 수행에 대해 보고서를 생성한다.

    session_serial

    원하는 특정 세션을 확실하게 한정하고 싶을 때 추가적으로 이 파라미터를 명시할 수 있다.

    만약, session_id 파라미터가 NULL일 경우 이 파라미터는 무시된다.

    sql_exec_start

    sql_id 파라미터를 명시하였을 때만 이 파라미터를 명시할 수 있다.

    모니터링된 SQL 수행 중에서 해당 sql_id를 가진 것 중 sql_exec_start 값이 일치하는 모니터링 정보를 찾아 보고서를 생성한다.

    sql_exec_id

    sql_id 파라미터를 명시하였을 때만 이 파라미터를 명시할 수 있다.

    모니터링된 SQL 수행 중에서 해당 sql_id 를 가진 것 중 sql_exec_id 값이 일치하는 모니터링 정보를 찾아 보고서를 생성한다.

  • 반환값

    반환값설명
    CLOB 데이터보고서 형식으로 생성된 문자열을 CLOB 형태로 반환한다.
  • 예제

    set long 1000000;
    select dbms_sqltune.report_sql_monitor from dual;