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目录下,下载下来打开即可查看。
Tag标签:「oracle ash 报告 生成 ashrpt」更新时间:「2021-11-03 10:29:48」阅读次数:「766」