ORACLE 如何定位消耗资源的SQL】的更多相关文章

在分析SQL性能的时候,经常需要确定资源消耗多的SQL,总结如下: 1 查看值得怀疑的SQLselect substr(to_char(s.pct, '99.00'), 2) || '%' load,       s.executions executes,       p.sql_text  from (select address,               disk_reads,               executions,               pct,          …
解答:select sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000); SELECT * FROM ( SELECT sql_text,buffer_gets,disk_reads FROM v$sql ORDER BY buffer_gets,disk_reads DESC) WHERE ROWNUM<=10;…
链接:http://www.xifenfei.com/699.html 标题:oracle 中如何定位重要(消耗资源多)的SQL 作者:惜分飞©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.] 1.查看值得怀疑的SQL select substr(to_char(s.pct,'99.00'),2)||'%'load,        s.executions executes,        p.sql_text from(select address,          …
本篇博客记录一次性能测试过程中,定位对CPU使用率高的瓶颈问题,主要定位SQL为准 一.用SQL命令定位1.首先用TOP命令监控系统资源,如果是AIX系统,就用topas,进入TOP命令的滚动刷新数据时,发现userCPU高达98%!! 保持top的状态下,按shift+p,可以将所有进程按CPU使用率高低排序,这样可以了解消耗CPU最多的进程是哪些 可以看到,当前userCPU使用率高达98%,且此时TPS不再随并发数上升了,可以认为已经达到性能瓶颈了,且是由CPU瓶颈造成的 2.排序完后,将…
对于优化来讲,查找消耗资源较大的SQL至关重要,下面介绍几个之前用到的SQL. 1.从V$SQLAREA中查询最占用资源的查询. select b.username username,a.disk_reads reads, a.executions exec,a.disk_reads/decode(a.executions,,,a.executions) rds_exec_ratio, a.sql_text Statement from v$sqlarea a,dba_users b where…
--1)查询和定位数据库问题的SQL语句--Oracle常用性能监控SQL语句.sql --1查询锁表信息 select vp.SPID, vs.P1, vs.P1RAW, vs.P2, vs.EVENT, vsql.SQL_TEXT, vsql.SQL_FULLTEXT, vsql.SQL_ID from v$session vs, v$sql vsql, v$process vp where vs.SQL_ID = vsql.SQL_ID and vs.PADDR = vp.ADDR and…
工作中遇到一个问题,某报表运行时间特别长,通过操作系统可以看到一个oracle进程消耗资源比较大,如何能够通过该操作系统进程找到具体SQL呢.记录如下: 1.查看Linux系统进程号 可以通过top动态查看某进程的资源使用情况,也可以通过ps aux查看某进程的相关信息. 2.通过v$process查看oracle中对应的进程 SQL'; ADDR PID SPID PNAME USERNAME SERIAL# TERMINAL PROGRAM TRACEID ....... ---------…
注:本文来源:sxhong   <查询oracle比较慢的session和sql> ---查询最慢的sql select * from ( select parsing_user_id,executions,sorts command_type,disk_reads,sql_text from v$sqlarea order by disk_reads desc )where rownum<10 ---查询对应session select SE.SID,SE.SERIAL#,PR.SPI…
当Oracle查询出现效率问题时,我们往往须要了解问题所在,这样才干针对问题给出解决方式.Oracle提供了SQL运行的trace信息,当中包括了SQL语句的文本信息.一些运行统计,处理过程中的等待,以及解析阶段(如生成运行计划)产生的信息. 这些信息有助于你分解sql语句的服务时间和等待时间,并了解所用资源和同步点的具体信息,从而帮助你诊断存在的性能问题. 这篇文章介绍了怎么开启SQL跟踪和获取trace文件,具体信息例如以下. 开启SQL跟踪 从内部技术细节看,SQL跟踪是基于10046调试…
oracle 查询最近执行过的 SQL语句 (2014-06-09 18:02:43) 转载▼   分类: Database oracle 查询最近执行过的 SQL语句 select sql_text,last_load_time from v$sql order by last_load_time desc;   SELECT   sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text…