[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... |
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 |
Plan 1(PHV: 4274056747)
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的更多相关文章
- [Oracle] - 性能优化工具(3) - ADDM
ADDM 通过检查和分析AWR获取的数据来推断Oracle数据库中可能的问题.并给出优化建议. 获取ADDM的方法例如以下: @?/rdbms/admin/addmrpt.sql 以下能够看一个样例: ...
- [Oracle] - 性能优化工具(1) - AWR
AWR快照 默认情况下,Oracle每隔一小时会自己主动产生一个快照,保存近期8天的快照. 我们能够通过例如以下语句获得产生快照的时间间隔和保存的天数: SYS@orcl(lx15)> sele ...
- [Oracle] - 性能优化工具(2) - ASH
ASH和AWR的关系 ASH以V$SESSION为基础,每秒採样一次,记录活动会话等待的事件.不活动的会话不会採样,採样工作由新引入的后台进程MMNL来完毕. ASH内存记录数据始终是有限的,为了保存 ...
- [Oracle] - 性能优化工具(4) - AWRDD
AWRDD是用于比較两个AWR快照,从而获得不同一时候期的性能. 运行例如以下语句获得AWRDD: @?/rdbms/admin/awrddrpt.sql 2025 23 2月 2014 07:12 ...
- Oracle 性能优化的基本方法
Oracle 性能优化的基本方法概述 1)设立合理的性能优化目标. 2)测量并记录当前性能. 3)确定当前Oracle性能瓶颈(Oracle等待什么.哪些SQL语句是该等待事件的成分). 4)把等待事 ...
- 【转载】我眼中的Oracle性能优化
我眼中的Oracle性能优化 大家对于一个业务系统的运行关心有如下几个方面:功能性.稳定性.效率.安全性.而一个系统的性能有包含了网络性能.应用性能.中间件性能.数据库性能等等. 今天从数据库性能的角 ...
- PHP性能优化工具–xhprof安装
PHP性能优化工具–xhprof安装,这里我先贴出大致的步骤: 1.获取xhprof 2.编译前预处理 3.编译安装 4.配置php.ini 5.查看运行结果 那么下面我们开始安装xhprof工具吧: ...
- 降低磁盘IO使Oracle性能优化(转)
文章转自:http://blog.chinaunix.net/uid-26813519-id-3207996.html 硬件方面虽然只占Oracle性能优化的一个方面(另一方面是软件),但是仍不可忽视 ...
- PLSQL_性能优化工具系列16_Best Practices: Proactively Avoiding Database
占位符 PLSQL_性能优化工具系列_Best Practices: Proactively Avoiding Database/Query Performance Issue
随机推荐
- GPUImage 滤镜头文件
#import "GLProgram.h" // Base classes #import "GPUImageOpenGLESContext.h" #impor ...
- Linux系统调优
Linux核心参数都是放置在/proc下面:系统的参数都是放置在/proc/sys swap最好放置在运行最快的硬盘上面,但是swap并能取代ram,因为并有I/O上面的损耗,所以优先考虑检验内存没有 ...
- [转]JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解
[转] JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 - dreamman的日志 - 网易博客http://blog.163.com/dreamman_yx/blog/st ...
- 如何解决C#编译中"csc不是内部或外部命令"的问题
安装完 VisualStudio 2010编译环境后,是不能用命令行直接编译写好的csc文件的,如果不配置环境变量,在命令提示符(cmd)中编译扩展名为cs的文件,会出现错误提示“csc不是内部或外部 ...
- 【Xamarin开发 Android 系列 4】 Android 基础知识
原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...
- 转载:浅谈Java多线程的同步问题【很好我就留下来,多分共享】
转载:http://www.cnblogs.com/phinecos/archive/2010/03/13/1684877.html#undefined 多线程的同步依靠的是对象锁机制,synchro ...
- 在ubuntu12.04下编译android4.1.2添加JNI层出现问题
tiny4412学习者,在ubuntu12.04下编译android4.1.2添加JNI层出现问题: (虚心请教解决方法) trouble writing output: Too many metho ...
- bzoj1179
这种tarjan+dp的水题我竟然还WA了两次,要小心! type link=^node; node=record po:longint; next:link; ...
- 比较详细的利用虚拟机对SD卡FAT32+EXT4+Ext4分区图解教程
如果大家嫌虚拟机复杂,我这里提供一个我没用虚拟机之前的分区方法:这个方法实际是可行的 我在没有用虚拟机之前,我是这样操作的1.首先在分区软件分好fat32+ext2+ext22.然后用recovery ...
- Selenium终极自动化测试环境搭建(二):Selenium+Eclipse+Python
前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Pyth ...