ashrpt.sql수행하여 ASH 보고서 생성

  • 보고서 출력 형식 선택
  • 보고서를 생성할 시작 시점 지정
  • ASH 정보를 수집할 구간을 지정
  • 보고서 이름을 설정

수행테스트


SYS@TEST >@?/rdbms/admin/ashrpt.sql

Current Instance
~~~~~~~~~~~~~~~~

   DB Id    DB Name      Inst Num Instance
----------- ------------ -------- ------------
  196479058 SANDBOX             1 SANDBOX


Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: text

Type Specified:  text


Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   DB Id     Inst Num DB Name      Instance     Host
------------ -------- ------------ ------------ ------------
* 196479058         1 TEST         TEST         testdb


Defaults to current database

Using database id: 196479058

Defaults to current instance

Using instance number: 1


ASH Samples in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Oldest ASH sample available:  16-Dec-12 00:00:05   [  12403 mins in the past]
Latest ASH sample available:  24-Dec-12 14:42:45   [      0 mins in the past]


Specify the timeframe to generate the ASH report
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter begin time for report:

--    Valid input formats:
--      To specify absolute begin time:
--        [MM/DD[/YY]] HH24:MI[:SS]
--        Examples: 02/23/03 14:30:15
--                  02/23 14:30:15
--                  14:30:15
--                  14:30
--      To specify relative begin time: (start with '-' sign)
--        -[HH24:]MI
--        Examples: -1:15  (SYSDATE - 1 Hr 15 Mins)
--                  -25    (SYSDATE - 25 Mins)

Defaults to -15 mins
Enter value for begin_time: -3
Report begin time specified: -3

Enter duration in minutes starting from begin time:
Defaults to SYSDATE - begin_time
Press Enter to analyze till current time
Enter value for duration: 2
Report duration specified:   2

Using 24-Dec-12 14:40:27 as report begin time
Using 24-Dec-12 14:42:27 as report end time


Specify Slot Width (using ashrpti.sql) for 'Activity Over Time' section
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-- Explanation:
--   In the 'Activity Over Time' section of the ASH report,
--   the analysis period is divided into smaller slots
--   and top wait events are reported in each of those slots.

-- Default:
--   The analysis period will be automatically split upto 10 slots
--   complying to a minimum slot width of
--     1 minute,  if the source is V$ACTIVE_SESSION_HISTORY or
--     5 minutes, if the source is DBA_HIST_ACTIVE_SESS_HISTORY.


Specify Slot Width in seconds to use in the 'Activity Over Time' section:
Defaults to a value as explained above:
Slot Width specified:


Specify Report Targets (using ashrpti.sql) to generate the ASH report
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-- Explanation:
--   ASH Report can accept "Report Targets",
--   like a particular SQL statement, or a particular SESSION,
--   to generate the report on. If one or more report targets are
--   specified, then the data used to generate the report will only be
--   the ASH samples that pertain to ALL the specified report targets.

-- Default:
--   If none of the report targets are specified,
--   then the target defaults to all activity in the database instance.


Specify SESSION_ID (eg: from V$SESSION.SID) report target:
Defaults to NULL:
SESSION report target specified:


Specify SQL_ID (eg: from V$SQL.SQL_ID) report target:
Defaults to NULL: (% and _ wildcards allowed)
SQL report target specified:


Specify WAIT_CLASS name (eg: from V$EVENT_NAME.WAIT_CLASS) report target:
[Enter 'CPU' to investigate CPU usage]
Defaults to NULL: (% and _ wildcards allowed)
WAIT_CLASS report target specified:


Specify SERVICE_HASH (eg: from V$ACTIVE_SERVICES.NAME_HASH) report target:
Defaults to NULL:
SERVICE report target specified:


Specify MODULE name (eg: from V$SESSION.MODULE) report target:
Defaults to NULL: (% and _ wildcards allowed)
MODULE report target specified:


Specify ACTION name (eg: from V$SESSION.ACTION) report target:
Defaults to NULL: (% and _ wildcards allowed)
ACTION report target specified:


Specify CLIENT_ID (eg: from V$SESSION.CLIENT_IDENTIFIER) report target:
Defaults to NULL: (% and _ wildcards allowed)
CLIENT_ID report target specified:


Specify PLSQL_ENTRY name (eg: "SYS.DBMS_LOB.*") report target:
Defaults to NULL: (% and _ wildcards allowed)
PLSQL_ENTRY report target specified:

Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is ashrpt_1_1224_1442.txt.  To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: ash_test_20121224_5.txt

Using the report name ash_test_20121224_5.txt

Summary of All User Input
-------------------------
Format         : TEXT
DB Id          : 196479058
Inst num       : 1
Begin time     : 24-Dec-12 14:40:27
End time       : 24-Dec-12 14:42:27
Slot width     : Default
Report targets : 0
Report name    : ash_test_20121224_5.txt

ashrpti.sql수행하여 ASH 보고서 생성

ashrpti.sql 스크립트와 비교하여 추가된 설정 사항

  • 1. 데이터베이스ID
  • 2. 인스턴스 번호
  • 3. Activity Over Time 단위 보고서의 시간별 분석 간격
    • 1) 시간 구간 ( slow_width )를 지정 : 지정된 시간 구간별로 수집된 ASH 슬롯 건수와 발생 이벤트를 보여준다.
    • 2) 기본값 : V$ACTIVE_SESSION_HISTORY 조회하는 경우 - 1분, DBA_HIST_ACTIVE_SESS_HISTORY 조회하는 경우 - 5분
  • 4. 보고서 기록 대상 : 설정한 대상이 발생시킨 부하만 기록한다.
    • 1) 대상 선정 : 세션ID별 ( V$SESSION의 SID ), SQLID ( V$SQL의 SQL_ID)
    • 2) 대기 이벤트 클래스 설정 ( V$EVENT_NAME의 WAIT_CLASS )
    • 3) 서비스 해시 값 설정 ( V$ACTIVE_SERVICE의 NAME_HASH )
    • 4) 모듈 이름 설정 ( V$SESSION의 MODULE )
    • 5) 액션 이름 설정 ( V$SESSION의 ACTION )
    • 6) 클라이언트 ID 설정 ( V$SESSION의 CLIENT_IDENTIFIER )
    • 7) PL/SQL 프로시저 이름 설정 ( DBA_SOURCE의 NAME )