上海涛德顾问学院

查看: 6174|回复: 0

[Oracle数据库] 如何查找Oracle有性能问题的SQL

[复制链接]
匿名
匿名  发表于 2014-5-29 12:43:34
不良 SQL 会在没有必要的情况下过多地使用资源。
不良 SQL 具有以下特征:
分析时间长
过多的 I/O(物理读写)
过多的 CPU 时间  
过多的等待

那么如何查找有问题的SQL了。
这里介绍两种方式
第一种  AWR报表
AWR报表中会列出:
CPU 时间最多、获取数最多、读取数最多、执行数最多、分析调用最多的SQL有哪些。各个报表不包括完整的 SQL 文本,但各个报表之后按照 SQL_ID 给出了所有 SQL 文本的报表。
例如:按 CPU 时间排序的 SQL

查找Oracle有问题的SQL

查找Oracle有问题的SQL


第二种:查询V$SQL
V$SQL存放共享SQL区域的统计信息。也就是系统中用户已经执行过的SQL
V$SQL包含了SQL语句的执行时间,CPUTIME,IO等信息

例如:查询那些SQL 消耗的CPU 时间最长,找出其中的前10个CPU压力最大的SQL
  select  * from (select sql_text from v$sql order by cpu_time desc) where rownum  <11
  

回复

使用道具 举报

上海涛德顾问学院 ( 沪ICP备14006824号 )  

GMT+8, 2018-6-18 15:54 , Processed in 0.270284 second(s), 30 queries , Gzip On.

Top Data World

回顶部