欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 10g用ASH生成性能报告

程序员文章站 2024-01-14 16:43:52
...

报告内容:TOP等待事件,TOP SQL,TOP SQL命令类型,TOP Session内容. 具体实现方式: SQLgt; @$Oracle_HOME/rdbms/admin/ashrpt.sql

报告内容: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 linux

Defaults 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:40

Enter 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: 20

Using 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 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 linux

CPUs 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 specified

Top 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 period

Slot 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视图中访问到相关的信息.

更多Oracle相关信息见Oracle 专题页面 ?tid=12

Oracle 10g用ASH生成性能报告