分类: Oracle
ASH报告生成

ASH基于v$session每秒进行一次采样,记录当前活动会话等待事件(不活动的不采样)
ASH通过内存所记录的数据是有限的,为了保存历史记录,引入了AWR,ASH信息采样被写到AWR中,ASH写满了以后会将信息写到AWR负载库,ASH数据完全写出是不可能的,一般只写收集数据量的10%,
ASH内存中的信息通过v$active_session_history查询,而已经写出到AWR负载库的ASH信息,通过AWR基础表(wrh$active_session_hist)查询。
ASH以v$active_session_history视图为基础,生成ASH报表
ASH报告时间精确到分钟,提供比AWR更详细的历史会话信息,作为对AWR的补充
以生成2月4日9点到10点的ASH报告操作步骤如下:
以oracle用户登陆db,进入控制台

sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/ashrpt.sql

Current Instance


   DB Id    DB Name      Inst Num Instance
----------- ------------ -------- ------------
 1606267053 HXDB                1 hxdb


Specify the Report Type

Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: html

Type Specified:  html


Instances in this Workload Repository schema
------------------------------------------------------------

   DB Id     Inst Num DB Name      Instance     Host
------------ -------- ------------ ------------ ------------
* 1606267053        1 HXDB         hxdb         HD-OA-DB

Defaults to current database

Using database id: 1606267053

Enter instance numbers. Enter 'ALL' for all instances in a
RAC cluster or explicitly specify list of instances (e.g., 1,2,3).
Defaults to current instance.

Using instance number(s): 1


ASH Samples in this Workload Repository schema
------------------------------------------------

Oldest ASH sample available:  26-Jan-21 22:00:23   [  12604 mins in the past]
Latest ASH sample available:  04-Feb-21 16:04:24   [      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: 02/04/21 09:00:00     #输入开始日期时间
Report begin time specified: 02/04/21 09:00:00

Enter duration in minutes starting from begin time:
Defaults to SYSDATE - begin_time
Press Enter to analyze till current time
Enter value for duration: 60       #60分钟内的报告
Report duration specified:   60

Using 04-Feb-21 09:00:00 as report begin time
Using 04-Feb-21 10:00:00 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_0204_1000.html.  To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: ash-9--10.html

Using the report name ash-9--10.html

Summary of All User Input
-------------------------
Format         : HTML
DB Id          : 1606267053
Inst num       : 1
Begin time     : 04-Feb-21 09:00:00
End time       : 04-Feb-21 10:00:00
Slot width     : Default
Report targets : 0
Report name    : ash-9--10.html

回车生成后的报告默认在/home/oracle目录下,下载下来打开即可查看。
ash.png


相关博文:

发表新评论