Oacle AWR报表中语句执行到什么阶段,Top SQL中会显示该语句的执行次数

[复制链接]
查看11 | 回复5 | 2008-2-13 12:43:03 | 显示全部楼层 |阅读模式
我这边有这样一个案例: 一条SQL语句Long Run, 从OEM监控看Top Activity 该语句前20分钟一直耗用CPU非常高,20分钟之后,Top Activity 中找不到该SQL语句,但是Top Session 中,该语句所在的Session依旧耗用CPU非常高。 取AWR报表发现,Top SQL中 该语句运行次数为1,我的理解是该语句已经运行过一次。但是报表显示不出来数据,使用sqlplus 直接运行该sql 语句,也是同样的问题,sqlplus 不显示执行结果。
我想知道AWR报表Top SQL中,语句执行到哪个阶段的时候,AWR会显示执行次数为1?
另外,什么情况下,会出现Top SQL显示语句已经执行一次,但是结果返回不了?
----------------------------------------------------------------
我自己以前曾经碰到这样一个案例: 应用Team 通过WebSphere 访问数据库,某SQL始终无法返回结果,但是数据库查询正常(当时未关注awr该语句Top SQL中执行次数,估计应该是1),后来检查是由于WebSphere out of memory造成,数据库返回结果过多,超过了WebSphere 设置的内存限制,WebSphere接收不了,导致该SQL无法返回结果。
------------------------------------------------------
但是本例中使用的是sqlplus 直接查询,也返回不了结果,而Top SQL 显示执行次数为1. 请各位大佬帮忙分析一下。

回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
不明白你的sql只执行了一次 awr显示1次有何问题
另外,语句执行不返回结果不奇怪啊就是没数据啊
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
语句只执行了多少次,awr就会显示多少次的,只能说明你的语句性能有问题,一次都没有执行完或者执行时耗用了大量资源,如果sqlplus没有结果,建议检查一下是否用到了临时表
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
你得多等会儿~不返回数据的话有两种可能~可能是还在计算当中,也可能是执行完了没数据.你的描述应该是还在hang是吧~
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
不明白你的sql只执行了一次 awr显示1次有何问题
另外,语句执行不返回结果不奇怪啊就是没数据啊
----------------------------------------------------------
不是没数据的问题,没数据也会显示No rows selected. 我所谓的"不返回结果",是指SQL执行后,语句Hang在那边,等待显示结果,一直处在等待数据的过程中.
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
语句只执行了多少次,awr就会显示多少次的,只能说明你的语句性能有问题,一次都没有执行完或者执行时耗用了大量资源,如果sqlplus没有结果,建议检查一下是否用到了临时表
--------------------------------------------------------
恩,谢谢.该语句性能是有问题的.我还想了解一下在什么情况下,会出现AWR 里面显示有执行次数,但是实际上sqlplus却不返回结果.或者说AWR显示了执行次数后,到该SQL返回结果到客户端期间,Oracle 到底还会做哪些工作?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行