제2장 DBMS_APM

내용 목차

2.1. 개요
2.2. 프러시저
2.2.1. CREATE_SNAPSHOT
2.2.2. CREATE_SNAPSHOT_ALL
2.2.3. REPORT_TEXT
2.2.4. REPORT_TEXT_ID
2.2.5. REPORT_TEXT_GID
2.2.6. REPORT_TEXT_LAST
2.2.7. REPORT_TEXT_SPECIFIC_TIMES
2.2.8. REPORT_TEXT_MARKED
2.2.9. REPORT_HTML
2.2.10. REPORT_HTML_ID
2.2.11. REPORT_HTML_GID
2.2.12. REPORT_HTML_LAST
2.2.13. REPORT_HTML_SPECIFIC_TIMES
2.2.14. REPORT_HTML_MARKED
2.2.15. FLUSH_ASH
2.2.16. ASH_REPORT_TEXT

본 장에서는 DBMS_APM 패키지의 기본 개념과 패키지 내의 프러시저를 사용하는 방법을 설명한다. 보다 자세한 설명은 Tibero 관리자 안내서의 "제14장 Automatic Performance Monitoring"을 참고한다.

2.1. 개요

DBMS_APM 패키지는 Automatic Performance Monitoring(이하 APM) 기능을 사용하는데 필요로 하는 기능을 제공하기 위한 패키지이다.

2.2. 프러시저

본 절에서는 DBMS_APM 패키지에서 제공하는 프러시저를 설명한다.

2.2.1. CREATE_SNAPSHOT

APM을 위한 스냅샷을 바로 남긴다.

CREATE_SNAPSHOT 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE CREATE_SNAPSHOT();
  • 예제

    exec DBMS_APM.CREATE_SNAPSHOT();
    /

2.2.2. CREATE_SNAPSHOT_ALL

TAC 구성일 때 모든 인스턴스에서 APM을 위한 스냅샷을 바로 남긴다.

이때 기존에 각 스냅샷별로 부여된 Snapshot ID에 추가로 모든 인스턴스에서 함께 떨어진 스냅샷을 지칭하기 위해 Global Snapshot ID가 부여된다.

CREATE_SNAPSHOT_ALL 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE CREATE_SNAPSHOT_ALL();
  • 예제

    exec DBMS_APM.CREATE_SNAPSHOT_ALL();
    /

2.2.3. REPORT_TEXT

특정 구간의 성능 분석 리포트(text)를 생성한다.

REPORT_TEXT 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE REPORT_TEXT
    (
       begin_time       IN DATE
       end_time         IN DATE
       instance_no      IN VARCHAR
       file_name        IN VARCHAR
    );
  • 파라미터

    파라미터설명
    begin_time성능 분석 리포트 대상 구간 중 시작 시간이다.
    end_time성능 분석 리포트 대상 구간 중 종료 시간이다.
    instance_no성능 분석 리포트 대상 인스턴스 번호이다. (기본값: ALL)
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: apm_report.{db_name}.{current_time}.txt)

  • 예제

    아래의 예제는 두 개의 인자 모두 DATE 타입이므로 사용 중인 DATE 포맷에 맞게 입력해야 한다.

    exec DBMS_APM.REPORT_TEXT('2011/07/01 12:00:00', '2011/07/02 11:59:59');
    /

    파라미터 중 file_name을 지정하면 지정된 파일명의 리포트를 출력한다.

    exec DBMS_APM.REPORT_TEXT
    ('2011/07/01 12:00:00', '2011/07/02 11:59:59', file_name=>'apm.txt');
    /

2.2.4. REPORT_TEXT_ID

특정 Snapshot ID 또는 ID 구간의 성능 분석 리포트(text)를 생성한다.

REPORT_TEXT_ID 프러시저는 Input이 특정 ID 또는 ID 구간 두 종류로 나누어지며, 그 세부 내용은 다음과 같다.

  • 특정 ID

    • 프로토타입

      PROCEDURE REPORT_TEXT_ID
      (
         one_snap_id       IN NUMBER
         file_name         IN VARCHAR
      );
    • 파라미터

      파라미터설명
      one_snap_id성능 분석 리포트 대상 스냅샷의 ID이다.
      file_name

      만들어질 성능 분석 리포트 파일명이다.

      (기본값: apm_report.{db_name}.{current_time}.txt)

    • 예제

      exec DBMS_APM.REPORT_TEXT_ID(5);
      /
  • ID 구간

    • 프로토타입

      PROCEDURE REPORT_TEXT_ID
      (
         begin_snap_id       IN NUMBER
         end_snap_id         IN NUMBER
         instance_no         IN VARCHAR
         file_name           IN VARCHAR
      );
    • 파라미터

      파라미터설명
      begin_snap_id성능 분석 리포트 대상 구간 중 시작 스냅샷의 ID이다.
      end_snap_id성능 분석 리포트 대상 구간 중 종료 스냅샷의 ID이다.
      instance_no성능 분석 리포트 대상 인스턴스 번호이다. (기본값: ALL)
      file_name

      만들어질 성능 분석 리포트 파일명이다.

      (기본값: apm_report.{db_name}.{current_time}.txt)

    • 예제

      파라미터 중 instance_no를 입력하지 않으면 기본적으로 모든 인스턴스를 대상으로 하는 리포트를 출력한다.

      exec DBMS_APM.REPORT_TEXT_ID(5, 10);
      /

      파라미터 중 instance_no를 입력하면 해당 인스턴스를 대상으로 하는 리포트를 출력한다.

      exec DBMS_APM.REPORT_TEXT_ID(5, 10, instance_no=>'2');
      /

2.2.5. REPORT_TEXT_GID

특정 Snapshot GID 또는 GID 구간의 성능 분석 리포트(text)를 생성한다.

REPORT_TEXT_GID 프러시저는 Input이 특정 GID 또는 GID 구간 두 종류로 나누어지며, 그 세부 내용은 다음과 같다.

  • 특정 GID

    • 프로토타입

      PROCEDURE REPORT_TEXT_GID
      (
         one_snap_gid       IN NUMBER
         file_name          IN VARCHAR
      );
    • 파라미터

      파라미터설명
      one_snap_gid성능 분석 리포트 대상 스냅샷의 GID이다.
      file_name

      만들어질 성능 분석 리포트 파일명이다.

      (기본값: apm_report.{db_name}.{current_time}.txt)

    • 예제

      exec DBMS_APM.REPORT_TEXT_GID(3);
      /
  • GID 구간

    • 프로토타입

      PROCEDURE REPORT_TEXT_ID
      (
         begin_snap_gid       IN NUMBER
         end_snap_gid         IN NUMBER
         file_name            IN VARCHAR
      );
    • 파라미터

      파라미터설명
      begin_snap_gid성능 분석 리포트 대상 구간 중 시작 스냅샷의 GID이다.
      end_snap_gid성능 분석 리포트 대상 구간 중 종료 스냅샷의 GID이다.
      file_name

      만들어질 성능 분석 리포트 파일명이다.

      (기본값: apm_report.{db_name}.{current_time}.txt)

    • 예제

      exec DBMS_APM.REPORT_TEXT_GID(3, 4);
      /

2.2.6. REPORT_TEXT_LAST

마지막으로 남긴 스냅샷에 대한 성능 분석 리포트(text)를 생성한다.

REPORT_TEXT_LAST 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE REPORT_TEXT_LAST
    (
       file_name         IN VARCHAR
    );
  • 파라미터

    파라미터설명
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: apm_report.{db_name}.{current_time}.txt)

  • 예제

    exec DBMS_APM.REPORT_TEXT_LAST();
    /

2.2.7. REPORT_TEXT_SPECIFIC_TIMES

특정 요일, 시간대에 해당되는 스냅샷들에 대한 성능 분석 리포트(text)를 생성한다.

REPORT_TEXT_SPECIFIC_TIMES 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE REPORT_TEXT_SPECIFIC_TIMES
    (
       begin_time        IN DATE
       end_time          IN DATE
       begin_hour        IN VARCHAR2
       end_hour          IN VARCHAR2
       days              IN VARCHAR2
       instance_no       IN VARCHAR2
       file_name         IN VARCHAR
    );
  • 파라미터

    파라미터설명
    begin_time성능 분석 리포트 대상 구간 중 시작 날짜와 시간이다. 사용 중인 DATE 포맷에 맞게 입력해야 한다.
    end_time성능 분석 리포트 대상 구간 중 종료 날짜와 시간이다. 사용 중인 DATE 포맷에 맞게 입력해야 한다.
    begin_hour성능 분석 리포트 대상 구간 중 출력되는 스냅샷 시간대의 시작 시간이다. VARCHAR2 타입으로 'HH24:MM' 포맷을 따라야 한다. (예: 09:00)
    end_hour성능 분석 리포트 대상 구간 중 출력되는 스냅샷 시간대의 종료 시간이다. VARCHAR2 타입으로 'HH24:MM' 포맷을 따라야 한다. (예: 18:00)
    days

    성능 분석 리포트 대상 구간 중 리포트 출력할 스냅샷의 요일이다.

    (기본값: MON,TUE,WED,THU,FRI,SAT,SUN)

    instance_no성능 분석 리포트 대상 인스턴스 번호이다. (기본값: ALL)
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: apm_report.{db_name}.{current_time}.txt)

  • 예제

    아래의 예제는 1월 1일 00:00부터 2월 1일 23:59:59 사이에 월,수,금 오전 9시부터 오후 6시까지에 해당하는 스냅샷에 대한 리포트 생성을 하는 예제이다.

    exec DBMS_APM.REPORT_TEXT_SPECIFIC_TIMES( '2015/01/01 00:00:00', 
                                              '2015/02/01 23:59:59', 
                                              '09:00', '18:00', 'MON,WED,FRI');
    /

    파라미터 중 instance_no를 입력하면 해당 instance를 대상으로 하는 리포트를 출력한다. 입력하지 않는 경우 기본적으로 모든 instance를 대상으로 리포트를 출력한다.

    exec DBMS_APM.REPORT_TEXT_SPECIFIC_TIMES( '2015/01/01 00:00:00', 
                                              '2015/02/01 23:59:59', 
                                              '09:00', '18:00', 'MON,WED,FRI', 
                                              instance_no=>'1');
    /

    파라미터 중 file_name을 지정하면 지정된 파일명의 리포트를 출력한다.

    exec DBMS_APM.REPORT_TEXT_SPECIFIC_TIMES( '2015/01/01 00:00:00', 
                                              '2015/02/01 23:59:59', 
                                              '09:00', '18:00', 'MON,WED,FRI', 
                                              instance_no=>'1', 'workinghours.txt');
    /

2.2.8. REPORT_TEXT_MARKED

유저가 지정한 스냅샷들에 대한 성능 분석 리포트(text)를 생성한다.

REPORT_TEXT_MARKED 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE REPORT_TEXT_MARKED(
       file_name         IN VARCHAR
    );
  • 파라미터

    파라미터설명
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: apm_report.{db_name}.{current_time}.txt)

  • 예제

    지정한 스냅샷에 대한 리포트를 생성해주기 때문에 먼저 출력할 스냅샷을 지정해야한다.

    V$APM_SNAPSHOT을 조회하면 스냅샷과 관련된 정보 및 marking 되었는지 여부를 볼 수 있다.

    select * from V$APM_SNAPSHOT;
    /
       SNAP_ID    THREAD# INSTANCE_NUMBER BEGIN_INTERVAL_TIME             
       ---------- ---------- --------------- --------------------------------
       END_INTERVAL_TIME                  SNAP_GID MARKED_FOR_REPORT
       -------------------------------- ---------- -----------------
                1          0               0 2015/11/26
                2015/11/26                                  N
    
                2          0               0 2015/11/27
                2015/11/27                                  N
    /

    SNAP_ID 2번에 해당하는 리포트를 출력하기 위해 다음과 같은 query를 실행한다.

    update V$APM_SNAPSHOT set MARKED_FOR_REPORT='Y' where SNAP_ID=2;
    commit;
    /

    V$APM_SNAPSHOT을 다시 조회하면 원하는 스냅샷이 마킹되었음을 확인할 수 있다.

       SNAP_ID    THREAD# INSTANCE_NUMBER BEGIN_INTERVAL_TIME             
       ---------- ---------- --------------- --------------------------------
       END_INTERVAL_TIME                  SNAP_GID MARKED_FOR_REPORT
       -------------------------------- ---------- -----------------
                1          0               0 2015/11/26
                2015/11/26                                  N
    
                2          0               0 2015/11/27
                2015/11/27                                  Y
    /

    원하는 스냅샷을 모두 마킹하였으면 리포트 출력을 실행시킨다.

    exec DBMS_APM.REPORT_TEXT_MARKED();
    /

    파라미터 중 file_name을 지정하면 지정된 파일명의 리포트를 출력한다.

    exec DBMS_APM.REPORT_TEXT_MARKED('marked.txt');
    /

2.2.9. REPORT_HTML

특정 구간의 성능 분석 리포트(html)를 생성한다.

REPORT_HTML 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE REPORT_HTML
    (
       begin_time       IN DATE
       end_time         IN DATE
       instance_no      IN VARCHAR
       file_name        IN VARCHAR
    );
  • 파라미터

    파라미터설명
    begin_time성능 분석 리포트 대상 구간 중 시작 시간이다.
    end_time성능 분석 리포트 대상 구간 중 종료 시간이다.
    instance_no성능 분석 리포트 대상 인스턴스 번호이다. (기본값: ALL)
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: apm_report.{db_name}.{current_time}.html)

  • 예제

    다음의 예제는 두 개의 인자 모두 DATE 타입이므로, 사용 중인 DATE 포맷에 맞게 입력해야 한다.

    exec DBMS_APM.REPORT_HTML('2011/07/01 12:00:00', '2011/07/02 11:59:59');
    /

    파라미터 중 file_name을 지정하면 지정된 파일명의 리포트를 출력한다.

    exec DBMS_APM.REPORT_HTML
    ('2011/07/01 12:00:00', '2011/07/02 11:59:59', file_name=>'apm.html');
    /

2.2.10. REPORT_HTML_ID

특정 Snapshot ID 또는 ID 구간의 성능 분석 리포트(html)를 생성한다.

REPORT_HTML_ID 프러시저는 Input이 특정 ID 또는 ID 구간 두 종류로 나누어지며, 그 세부 내용은 다음과 같다.

  • 특정 GID

    • 프로토타입

      PROCEDURE REPORT_HTML_ID
      (
         one_snap_id       IN NUMBER
         file_name         IN VARCHAR
      );
    • 파라미터

      파라미터설명
      one_snap_id성능 분석 리포트 대상 스냅샷의 ID이다.
      file_name

      만들어질 성능 분석 리포트 파일명이다.

      (기본값: apm_report.{db_name}.{current_time}.html)

    • 예제

      exec DBMS_APM.REPORT_HTML_ID(5);
      /
  • GID 구간

    • 프로토타입

      PROCEDURE REPORT_HTML_ID
      (
         begin_snap_id       IN NUMBER
         end_snap_id         IN NUMBER
         instance_no         IN VARCHAR
         file_name           IN VARCHAR
      );
    • 파라미터

      파라미터설명
      begin_snap_id성능 분석 리포트 대상 구간 중 시작 스냅샷의 ID이다.
      end_snap_id성능 분석 리포트 대상 구간 중 종료 스냅샷의 ID이다.
      instance_no성능 분석 리포트 대상 인스턴스 번호이다. (기본값: ALL)
      file_name

      만들어질 성능 분석 리포트 파일명이다.

      (기본값: apm_report.{db_name}.{current_time}.html)

    • 예제

      파라미터 중 instance_no를 입력하지 않으면 기본적으로 모든 인스턴스를 대상으로 하는 리포트를 출력한다.

      exec DBMS_APM.REPORT_HTML_ID(5, 10);
      /

      파라미터 중 instance_no를 입력하면 해당 인스턴스를 대상으로 하는 리포트를 출력한다.

      exec DBMS_APM.REPORT_HTML_ID
      (5, 10, instance_no=>'2');
      /

2.2.11. REPORT_HTML_GID

특정 Snapshot GID 또는 GID 구간의 성능 분석 리포트(html)를 생성한다.

REPORT_HTML_GID 프러시저는 Input이 특정 GID 또는 GID 구간 두 종류로 나누어지며, 그 세부 내용은 다음과 같다.

  • 특정 GID

    • 프로토타입

      PROCEDURE REPORT_HTML_GID
      (
         one_snap_gid       IN NUMBER
         file_name          IN VARCHAR
      );
    • 파라미터

      파라미터설명
      one_snap_gid성능 분석 리포트 대상 스냅샷의 GID이다.
      file_name

      만들어질 성능 분석 리포트 파일명이다.

      (기본값: apm_report.{db_name}.{current_time}.html)

    • 예제

      exec DBMS_APM.REPORT_HTML_GID(3);
      /
  • GID 구간

    • 프로토타입

      PROCEDURE REPORT_HTML_ID
      (
         begin_snap_gid       IN NUMBER
         end_snap_gid         IN NUMBER
         file_name            IN VARCHAR
      );
    • 파라미터

      파라미터설명
      begin_snap_gid성능 분석 리포트 대상 구간 중 시작 스냅샷의 GID이다.
      end_snap_gid성능 분석 리포트 대상 구간 중 종료 스냅샷의 GID이다.
      file_name

      만들어질 성능 분석 리포트 파일명이다.

      (기본값: apm_report.{db_name}.{current_time}.html)

    • 예제

      exec DBMS_APM.REPORT_HTML_GID(3, 4);
      /

2.2.12. REPORT_HTML_LAST

마지막으로 남긴 스냅샷에 대한 성능 분석 리포트(html)를 생성한다.

REPORT_HTML_LAST 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE REPORT_HTML_LAST
    (
       file_name         IN VARCHAR
    );
  • 파라미터

    파라미터설명
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: apm_report.{db_name}.{current_time}.html)

  • 예제

    exec DBMS_APM.REPORT_HTML_LAST();
    /

2.2.13. REPORT_HTML_SPECIFIC_TIMES

특정 요일, 시간대에 해당되는 스냅샷들에 대한 성능 분석 리포트(html)를 생성한다.

REPORT_HTML_SPECIFIC_TIMES 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE REPORT_HTML_SPECIFIC_TIMES
    (
       begin_time        IN DATE
       end_time          IN DATE
       begin_hour        IN VARCHAR2
       end_hour          IN VARCHAR2
       days              IN VARCHAR2
       instance_no       IN VARCHAR2
       file_name         IN VARCHAR
    );
  • 파라미터

    파라미터설명
    begin_time성능 분석 리포트 대상 구간 중 시작 날짜와 시간이다. DATE 타입이므로 사용 중인 DATE 포맷에 맞게 입력해야 한다.
    end_time성능 분석 리포트 대상 구간 중 종료 날짜와 시간이다. DATE 타입이므로 사용 중인 DATE 포맷에 맞게 입력해야 한다.
    begin_hour성능 분석 리포트 대상 구간 중 출력되는 스냅샷 시간대의 시작 시간이다. VARCHAR2 타입으로 'HH24:MM' 포맷을 따라야 한다. (예: 09:00)
    end_hour성능 분석 리포트 대상 구간 중 출력되는 스냅샷 시간대의 종료 시간이다. VARCHAR2 타입으로 'HH24:MM' 포맷을 따라야 한다. (예: 18:00)
    days

    성능 분석 리포트 대상 구간 중 리포트 출력할 스냅샷의 요일이다.

    (기본값: MON,TUE,WED,THU,FRI,SAT,SUN)

    instance_no성능 분석 리포트 대상 인스턴스 번호이다. (기본값: ALL)
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: apm_report.{db_name}.{current_time}.txt)

  • 예제

    아래의 예제는 1월 1일 00:00부터 2월 1일 23:59:59 사이에 월,수,금 오전 9시부터 오후 6시까지에 해당하는 스냅샷에 대한 리포트 생성을 하는 예제이다.

    exec DBMS_APM.REPORT_HTML_SPECIFIC_TIMES( '2015/01/01 00:00:00', 
                                              '2015/02/01 23:59:59', 
                                              '09:00', '18:00', 'MON,WED,FRI');
    /

    파라미터 중 instance_no를 입력하면 해당 instance를 대상으로 하는 리포트를 출력한다. 입력하지 않는 경우 기본적으로 모든 instance를 대상으로 리포트를 출력한다.

    exec DBMS_APM.REPORT_HTML_SPECIFIC_TIMES( '2015/01/01 00:00:00', 
                                              '2015/02/01 23:59:59', 
                                              '09:00', '18:00', 'MON,WED,FRI', 
                                              instance_no=>'1');
    /

    파라미터 중 file_name을 지정하면 지정된 파일명의 리포트를 출력한다.

    exec DBMS_APM.REPORT_HTML_SPECIFIC_TIMES( '2015/01/01 00:00:00', 
                                              '2015/02/01 23:59:59', 
                                              '09:00', '18:00', 'MON,WED,FRI', 
                                              instance_no=>'1', 'workinghours.txt');
    /

2.2.14. REPORT_HTML_MARKED

유저가 지정한 스냅샷들에 대한 성능 분석 리포트(html)를 생성한다.

REPORT_HTML_MARKED 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE REPORT_HTML_MARKED
    (
       file_name         IN VARCHAR
    );
  • 파라미터

    파라미터설명
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: apm_report.{db_name}.{current_time}.txt)

  • 예제

    지정한 스냅샷에 대한 리포트를 생성해주기 때문에 먼저 출력할 스냅샷을 지정해야 한다. V$APM_SNAPSHOT을 조회하면 스냅샷과 관련된 정보 및 marking 되었는지 여부를 볼 수 있다.

    select * from V$APM_SNAPSHOT;
    /
       SNAP_ID    THREAD# INSTANCE_NUMBER BEGIN_INTERVAL_TIME             
       ---------- ---------- --------------- --------------------------------
       END_INTERVAL_TIME                  SNAP_GID MARKED_FOR_REPORT
       -------------------------------- ---------- -----------------
                1          0               0 2015/11/26
                2015/11/26                                  N
    
                2          0               0 2015/11/27
                2015/11/27                                  N
    /

    SNAP_ID 2번에 해당하는 리포트를 출력하기 위해 다음과 같은 query를 실행한다.

    update V$APM_SNAPSHOT set MARKED_FOR_REPORT='Y' where SNAP_ID=2;
    commit;
    /

    V$APM_SNAPSHOT을 다시 조회하면 원하는 스냅샷이 마킹되었음을 확인할 수 있다.

       SNAP_ID    THREAD# INSTANCE_NUMBER BEGIN_INTERVAL_TIME             
       ---------- ---------- --------------- --------------------------------
       END_INTERVAL_TIME                  SNAP_GID MARKED_FOR_REPORT
       -------------------------------- ---------- -----------------
                1          0               0 2015/11/26
                2015/11/26                                  N
    
                2          0               0 2015/11/27
                2015/11/27                                  Y
    /

    원하는 스냅샷을 모두 마킹하였으면 리포트 출력을 실행시킨다.

    exec DBMS_APM.REPORT_HTML_MARKED();
    /

    파라미터 중 file_name을 지정하면 지정된 파일명의 리포트를 출력한다.

    exec DBMS_APM.REPORT_HTML_MARKED('marked.txt');
    /

2.2.15. FLUSH_ASH

메모리상에 담겨있는 ASH Sample들을 _APM_ACTIVE_SESSION_HISTORY 테이블에 저장한다.

FLUSH_ASH 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE FLUSH_ASH ();
  • 예제

    FLUSH_ASH 프러시저를 수행함으로서 메모리상에만 존재하던 ASH Sample들이 _APM_ACTIVE_SESSION_HISTORY 테이블상에 저장된다.

    exec DBMS_APM.FLUSH_ASH();
    /

2.2.16. ASH_REPORT_TEXT

특정 구간의 ASH 성능 분석 리포트(text)를 생성한다. ASH Sample은 IPARAM(ACTIVE_SESSION_HISTORY)을 Y로 세팅했을 때만 남게 되며, ASH Report는 이 Sample들의 정보를 취합하여 리포트를 작성한다.

ASH_REPORT_TEXT 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    PROCEDURE ASH_REPORT_TEXT
    (
       begin_time       IN DATE
       end_time         IN DATE
       instance_no      IN VARCHAR
       file_name        IN VARCHAR
    );
  • 파라미터

    파라미터설명
    begin_time성능 분석 리포트 대상 구간 중 시작 시간이다.
    end_time성능 분석 리포트 대상 구간 중 종료 시간이다.
    instance_no성능 분석 리포트 대상 Instance number이다. (기본값: ALL)
    file_name

    만들어질 성능 분석 리포트 파일명이다.

    (기본값: ash_report.{db_name}.{current_time}.txt)

  • 예제

    아래의 예제는 두 개의 인자 모두 DATE 타입이므로 사용 중인 DATE 포맷에 맞게 입력해야 한다.

    exec DBMS_TPR.ASH_REPORT_TEXT('2015/01/29 21:00:00', '2015/01/29 22:59:59');
    /

    파라미터 중 file_name을 지정하면 지정된 파일명의 리포트를 출력한다.

    exec DBMS_TPR.ASH_REPORT_TEXT('2015/01/29 21:00:00', '2015/01/29 22:59:59', 
                                   file_name=>'ash.txt');
    /

    파라미터 중 instance_no를 입력하면 해당 instance를 대상으로 하는 리포트를 출력한다. 입력하지 않는 경우 기본적으로 모든 instance를 대상으로 리포트를 출력한다.

    exec DBMS_TPR.ASH_REPORT_TEXT('2015/01/29 21:00:00', '2015/01/29 22:59:59', 
                                  instance_no=>'1');
    /