[Oracle] - 性能优化工具(5) - AWRSQL

在AWR中定位到问题SQL语句后想要了解该SQL statement的详细运行计划,于是就用AWR报告中得到的SQL ID去V$SQL等几个动态性能视图中查询,但发现V$SQL或V$SQL_PLAN视图都已经找不到相应SQL ID的记录,一般来说这些语句已经从shared pool共享池中被替换出去了。

这个时候我们能够尝试使用DBMS_XPLAN.DISPLAY_AWR存储过程来将Oracle Automatic Workload Repository自己主动负载仓库中记录的SQL语句相关信息抽取出来,如:

@?/rdbms/admin/awrsqrpt.sql

以下是上诉语句生成的AWRSQL:

WORKLOAD REPOSITORY SQL Report

Snapshot Period Summary

DB Name DB Id Instance Inst num Startup Time Release RAC
TEST11G 977587123 test11g 1 23-2月 -14 07:02 11.2.0.1.0 NO
  Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 2039 23-2月 -14 15:56:23 28 2.0
End Snap: 2040 23-2月 -14 15:56:38 30 1.9
Elapsed:   0.24 (mins)    
DB Time:   0.25 (mins)    

SQL Summary

SQL Id Elapsed Time (ms) Module Action SQL Text
1rrtf60fmhxkj 13,564 SQL*Plus   SELECT
COUNT(*) FROM T1, T2 WHERE T1.OBJECT_ID=T2.OBJECT_ID...

Back
to Top

SQL ID: 1rrtf60fmhxkj

  • 1st Capture and Last Capture Snap IDs refer to Snapshot IDs witin the snapshot range
  • SELECT
    COUNT(*) FROM T1,T2 WHERE T1.OBJECT_ID=T2.OBJECT_ID
# Plan Hash Value Total Elapsed Time(ms) Executions 1st Capture Snap ID Last Capture Snap ID
1 4274056747 13,564 1,000 2040 2040

Back
to Top

Plan 1(PHV: 4274056747)

  • Plan
    Statistics
  • Execution
    Plan

Back to Top

Plan Statistics

  • % Total DB Time is the Elapsed Time of the SQL statement divided into the Total Database Time multiplied by 100
Stat Name Statement Total Per Execution % Snap Total
Elapsed Time (ms) 13,564 13.56 92.27
CPU Time (ms) 13,385 13.38 91.76
Executions 1,000    
Buffer Gets 1,051,075 1,051.08 99.48
Disk Reads 1,044 1.04 99.90
Parse Calls 1 0.00 0.36
Rows 1,000 1.00  
User I/O Wait Time (ms) 55    
Cluster Wait Time (ms) 0    
Application Wait Time (ms) 0    
Concurrency Wait Time (ms) 0    
Invalidations 0    
Version Count 1    
Sharable Mem(KB) 14    

Back
to Plan 1(PHV: 4274056747)

Back
to Top

Execution Plan

Id Operation Name Rows Bytes Cost (%CPU) Time
0 SELECT STATEMENT       296 (100)  
1    SORT AGGREGATE   1 26    
2      HASH JOIN   100 2600 296 (1) 00:00:04
3        TABLE ACCESS FULL T2 100 1300 3 (0) 00:00:01
4        TABLE ACCESS FULL T1 69217 878K 292 (1) 00:00:04
  • dynamic sampling used for this statement (level=2)

Back
to Plan 1(PHV: 4274056747)

Back
to Top

Full SQL Text

SQL Id SQL Text
1rrtf60fmhxkj SELECT COUNT(*) FROM T1, T2 WHERE T1.OBJECT_ID=T2.OBJECT_ID

[Oracle] - 性能优化工具(5) - AWRSQL

时间: 2024-10-06 05:28:41

[Oracle] - 性能优化工具(5) - AWRSQL的相关文章

[Oracle] - 性能优化工具(1) - AWR

AWR快照 默认情况下,Oracle每隔一小时会自己主动产生一个快照,保存近期8天的快照. 我们能够通过例如以下语句获得产生快照的时间间隔和保存的天数: [email protected](lx15)> select SNAP_INTERVAL,RETENTION from dba_hist_wr_control; SNAP_INTERVAL RETENTION -------------------------------------------------------------------

[Oracle] - 性能优化工具(3) - ADDM

ADDM 通过检查和分析AWR获取的数据来判断Oracle数据库中可能的问题,并给出优化建议. 获取ADDM的方法如下: @?/rdbms/admin/addmrpt.sql 下面可以看一个例子: --第一步:创建测试用的表 drop table t cascade constraints purge; create table t AS SELECT * FROM dba_objects ; --第二步:快照 exec dbms_workload_repository.create_snaps

[Oracle] - 性能优化工具(2) - ASH

ASH和AWR的关系 ASH以V$SESSION为基础,每秒採样一次,记录活动会话等待的事件.不活动的会话不会採样,採样工作由新引入的后台进程MMNL来完毕. ASH内存记录数据始终是有限的,为了保存历史数据,引入了自己主动负载信息库(Automatic Workload Repository ,AWR) 由后台进程MMON完毕.ASH信息相同被採集写出到AWR负载库中.因为内存是有限的,所以MMNL进程在ASH写满后会将信息写出到AWR负载库中. ASH也不是写出所有数据导AWR.所一般仅仅写

[Oracle] - 性能优化工具(4) - AWRDD

AWRDD是用于比較两个AWR快照,从而获得不同一时候期的性能. 运行例如以下语句获得AWRDD: @?/rdbms/admin/awrddrpt.sql 2025 23 2月 2014 07:12 1 2026 23 2月 2014 08:00 1 2027 23 2月 2014 09:00 1 2028 23 2月 2014 10:00 1 2029 23 2月 2014 11:00 1 2030 23 2月 2014 11:24 1 2031 23 2月 2014 11:26 1 2032

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第3/10套:Oracle性能优化之性能诊断工具.主要学习Oracle性能优化,Oracle自带性能诊断工具介绍,日常维护中的性能工具操作过程,awr性能数据的收集时间,awr自动收集性能报告如何实现,awr手工快照如何实现,awr baseline的手工调整与管理,awr性能相关的视图介绍,awr性

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第4/10套:Oracle性能优化之性能跟踪工具.主要学习Oracle性能优化,如何获取跟踪文件,sql_trace及案例,10046事件及案例,trace内容分析,oradebug及案例,dbms_system,dbms_monitor及案例,dbms_support,10053事件及案例,综合案例

Oracle性能优化之操作系统工具_超越OCP精通Oracle视频教程培训37

Oracle性能优化之操作系统工具_超越OCP精通Oracle视频教程培训37 课程介绍 风哥Oracle视频教程<<Oracle数据库性能优化培训教程>>的第7/10套:Oracle性能优化之操作系统性能工具.学习Oracle性能优化,1.操作系统性能优化分析及工具说明,操作系统性能工具之top/topas,vmstat,iostat,free/lsps/swapinfo,mpstat/sar,网络分析,基本信息查看,操作系统性能收集与分析之nmon,oswatcher. 视频教

Oracle性能分析工具介绍及使用

oracle数据库级别优化分析工具介绍 当我们对数据库优化诊断时,需要收集相应的信息以供参考,从个人的使用经验来说,这种统计数据分为两大类 一类是数据库级别的统计信息二类是os级别的统计信息 下面就分别介绍在不同的级别下,常用什么工具来收集信息帮助优化诊断 首先是oracle数据库级别优化分析工具介绍 目录: 1.statspack2.ASH3.AWR4.ORACLE EXPLAIN PLAN的总结(查询sql的执行计划)   a.autotrace   b.explain的使用 1.stats

Oracle 性能优化的基本方法

Oracle 性能优化的基本方法概述 1)设立合理的性能优化目标. 2)测量并记录当前性能. 3)确定当前Oracle性能瓶颈(Oracle等待什么.哪些SQL语句是该等待事件的成分). 4)把等待事件记入跟踪文件. 5)确定当前的OS瓶颈. 6)优化所需的成分(应用程序.数据库.I/O.争用.OS等). 7)跟踪并实施更改控制过程. 8)测量并记录当前性能 9)重复步骤3到7,直到满足优化目标 1.设立合理的性能优化目标 重点:关于设立目标的最重要的一点是它们必须是可量化和可达到的. 方法:目