报告内容:TOP等待事件,TOP SQL,TOP SQL命令类型,TOP Session内容.

具体实现方式:

SQL> @$ORACLE_HOME/rdbms/admin/ashrpt.sql
Current Instance
 ~~~~~~~~~~~~~~~~DB Id DB Name Inst Num Instance
 ----------- ------------ -------- ------------
 631770879 ORA10 1 ora10
 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
 ------------ -------- ------------ ------------ ------------
 * 631770879 1 ORA10 ora10 linuxDefaults to current database
Using database id: 631770879
Defaults to current instance
Using instance number: 1
 ASH Samples in this Workload Repository schema
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Oldest ASH sample available: 12-Mar-08 12:22:57 [ 10246 mins in the past]
 Latest ASH sample available: 19-Mar-08 15:05:08 [ 4 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: 14:40 --输入开始时间
 Report begin time specified: 14:40Enter duration in minutes starting from begin time:
 Defaults to SYSDATE - begin_time
 Press Enter to analyze till current time
 Enter value for duration: 20 --输入要统计的时间间隔
 Report duration specified: 20Using 19-Mar-08 14:40:00 as report begin time
 Using 19-Mar-08 15: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 WATI_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: EXT
 ----
 .txt 
Specify the Report Name
 ~~~~~~~~~~~~~~~~~~~~~~~
 The default report file name is ashrpt_1_0319_1500.txt. To use this name,
 press <return> to continue, otherwise enter an alternative.
 Enter value for report_name: --这里直接按回车,或者更改文件名.Using the report name ashrpt_1_0319_1500.txt
Summary of All User Input
 -------------------------
 Format : TEXT
 DB Id : 631770879
 Inst num : 1
 Begin time : 19-Mar-08 14:40:00
 End time : 19-Mar-08 15:00:00
 Slot width : Default
 Report targets : 0
 Report name : ashrpt_1_0319_1500.txt产生的报告内容如下:
oracle@linux:/SERVER/soft> cat ashrpt_1_0319_1500.txt
ASH Report For ORA10/ora10
DB Name DB Id Instance Inst Num Release RAC Host
 ------------ ----------- ------------ -------- ----------- --- ------------
 ORA10 631770879 ora10 1 10.2.0.1.0 NO linuxCPUs SGA Size Buffer Cache Shared Pool ASH Buffer Size
 ---- ------------------ ------------------ ------------------ ------------------
 1 160M (100%) 72M (45.0%) 68M (42.5%) 2.0M (1.3%) Analysis Begin Time: 19-Mar-08 14:40:00
 Analysis End Time: 19-Mar-08 15:00:00
 Elapsed Time: 20.0 (mins)
 Sample Count: 29
 Average Active Sessions: 0.02
 Avg. Active Session per CPU: 0.02
 Report Target: None specifiedTop User Events DB/Inst: ORA10/ora10 (Mar 19 14:40 to 15:00)
Avg Active
 Event Event Class % Activity Sessions
 ----------------------------------- --------------- ---------- ----------
 CPU + Wait for CPU CPU 51.72 0.01
 db file sequential read User I/O 6.90 0.00
 null event Other 6.90 0.00
 -------------------------------------------------------------Top Background Events DB/Inst: ORA10/ora10 (Mar 19 14:40 to 15:00)
Avg Active
 Event Event Class % Activity Sessions
 ----------------------------------- --------------- ---------- ----------
 CPU + Wait for CPU CPU 17.24 0.00
 os thread startup Concurrency 17.24 0.00
 Activity Over Time DB/Inst: ORA10/ora10 (Mar 19 14:40 to 15:00)
 -> Analysis period is divided into smaller time slots
 -> Top 3 events are reported in each of those slots
 -> 'Slot Count' shows the number of ASH samples in that slot
 -> 'Event Count' shows the number of ASH samples waiting for
 that event in that slot
 -> '% Event' is 'Event Count' over all ASH samples in the analysis periodSlot Event
 Slot Time (Duration) Count Event Count % Event
 -------------------- -------- ------------------------------ -------- -------
 14:40:00 (2.0 min) 15 CPU + Wait for CPU 14 48.28
 db file sequential read 1 3.45
 14:42:00 (2.0 min) 5 CPU + Wait for CPU 3 10.34
 os thread startup 2 6.90
 14:44:00 (2.0 min) 3 db file sequential read 1 3.45
 null event 1 3.45
 os thread startup 1 3.45
 14:46:00 (2.0 min) 3 os thread startup 2 6.90
 CPU + Wait for CPU 1 3.45
 14:50:00 (2.0 min) 1 CPU + Wait for CPU 1 3.45
 14:56:00 (2.0 min) 1 CPU + Wait for CPU 1 3.45
 14:58:00 (2.0 min) 1 null event 1 3.45
 -------------------------------------------------------------
 End of Report


注:ASH 的信息,以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件. 可以在V$ACTIVE_SESSION_HISOTRY视图中访问到相关的信息.