有些时候,我们需要分析占用资源比较大的sql的执行计划,也需要将sql的执行计划以报告的形式反馈给客户,由于AWR报告里的SQL通常都是些变量,因此以命令行方式生成sql的执行计划就很麻烦,而且也不美观,利用awrsqrpt.sql脚本就很方便。
生成HTML的执行计划很简单,如果是生成本地数据库的sql执行计划,执行awrsqrpt.sql就可以,但是如果需要生成由AWR迁移到本地数据库的分析数据,就需要使用awrsqrpi.sql。
SQL> @?/rdbms/admin/awrsqrpi
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
输入 report_type 的值: html
Type Specified: html
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ -------- ------------ ------------ ------------
* 1520519778 1 STREAM stream STREAM
2400249746 1 CNDERPDB cnderpdb1 p5a1
2400249746 2 CNDERPDB cnderpdb2 p5b1
输入 dbid 的值: 2400249746 --输入要生成执行计划的数据库ID
Using 2400249746 for database Id
输入 inst_num 的值: 1 --输入节点号
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
输入 num_days 的值: 7
Listing the last 7 days of Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
cnderpdb1 CNDERPDB 50063 16 6月 2011 08:00 1
50064 16 6月 2011 09:00 1
50065 16 6月 2011 10:00 1
50066 16 6月 2011 11:00 1
50067 16 6月 2011 12:00 1
... ...
50206 22 6月 2011 07:00 1
50207 22 6月 2011 08:00 1
50208 22 6月 2011 09:00 1
50209 22 6月 2011 10:00 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
输入 begin_snap 的值: 50063 --输入开始快照号
Begin Snapshot Id specified: 50063
输入 end_snap 的值: 50209 --输入结束快照号
End Snapshot Id specified: 50209
Specify the SQL Id
~~~~~~~~~~~~~~~~~~
输入 sql_id 的值: 8hm5s0k011450 --在AWR报告中看到的占用资源较大的SQL ID
SQL ID specified: 8hm5s0k011450
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrsqlrpt_1_50063_50209.html. To use this name,
press <return> to continue, otherwise enter an alternative.
输入 report_name 的值: d:\stream.html --保存路径和名字
Using the report name d:\stream.html
Report written to d:\stream.html
SQL>
之后打开D盘下的stream.html就可以很直观的看到SQL_ID为8hm5s0k011450的执行计划
Stat Name
Statement Total
Per Execution
% Snap Total
Elapsed Time (ms) |
18,121,198 |
4.89 |
3.20 |
CPU Time (ms) |
17,874,450 |
4.82 |
3.33 |
Executions |
3,707,839 |
|
|
Buffer Gets |
404,447,392 |
109.08 |
3.85 |
Disk Reads |
0 |
0.00 |
0.00 |
Parse Calls |
6 |
0.00 |
0.00 |
Rows |
9,831,284 |
2.65 |
|
User I/O Wait Time (ms) |
0 |
|
|
Cluster Wait Time (ms) |
0 |
|
|
Application Wait Time (ms) |
0 |
|
|
Concurrency Wait Time (ms) |
0 |
|
|
Invalidations |
0 |
|
|
Version Count |
38 |
|
|
Sharable Mem(KB) |
713 |
|
|
Id
Operation
Name
Rows
Bytes
Cost (%CPU)
Time
0 |
SELECT STATEMENT |
|
|
|
3 (100) |
|
1 |
FOR UPDATE |
|
|
|
|
|
2 |
SORT ORDER BY |
|
1 |
32 |
3 (34) |
00:00:01 |
3 |
TABLE ACCESS FULL |
TEMPSK |
1 |
32 |
2 (0) |
00:00:01 |
分享到:
相关推荐
目前发现很多局点在上线以后有很多低效的sql,导致cpu繁忙、磁盘I/O繁忙、效率低下,影响系统的正常运行。如何在测试环节或上线以后发现这些低效的sql呢? Oracle AWR报告可以很好的帮我们解决这个问题
AWR报告生成详解,详细介绍了ORACLE的AWR分析
ORACLE AWR报告生成
window下直接调用生成弹出html格式的awr报告,不用去linux下了,但是妖之道数据库密码的啊,不然没法调用,修改里bat里的连接串即可 样例: sqlplus sys/oracle@zhengshiku_2 as sysdba @addmrpt.sql
本文介绍Windows和Linux平台生成oracle awr报告方法,适合新手查阅。欢迎大家下载,如有建议和疑问可联系作者
脚本生成AWR报告步骤
最近想要通过awr观察下某个oracle实例的性能情况,碰到了在sqlplus执行awrrpt.sql到选择snapshot区间的时候无任何区间供选导致无法进一步生 成awr的情况,而且手动使用execute DBMS_WORKLOAD_REPOSITORY.CREATE_...
awr报告awr报告awr报告awr报告
对oracle的AWR报表生成和各项关键指标分析进行具体分析论述。
AWR报告生成和分析详解,对于报告中相关参数解析,分析数据库异常
使用非常详尽的步骤,一步一步的指引我们在oracle 中如何生成一份awr报告
oracle awr报告具体分析
Oracle AWR报告详细分析,详细地说明了AWR报告里个统计量含义。
性能测试过程中,我们会监控数据库资源,发现性能测试瓶颈在数据库后,需要打印oracle awr报告来定位问题,那我们如何打印awr报告呢?以下为生成awr步骤。1. 首先第一步查看实例:echo $ORACLE_SID 2. 赋值实例:...
在看性能指标的时候,心里先要明白,数据库出现性能问题,一般都在三个地方,io,内存,cpu,这三个又是...相反,cpu时间花费多的话,有可能是解析sql语句,也可能是过滤太多的数据,到不一定是和io或内存有关系了 。
记一次生产环境排查服务器性能优化的问题,需要获取oracle的AWR报告,进行分析服务器sql的执行时间
oracle查看awr的详细介绍 AWR 是 Oracle 10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动负载信息库, AWR 是通过对比两次快,照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个...
AWR报告生成手动配置,调整AWR配置,dbms_workload_repository包
如何分析AWR报告