sql语句在v$sql找不到

[复制链接]
查看11 | 回复7 | 2007-4-25 04:02:08 | 显示全部楼层 |阅读模式
我一个存储过程某一部分,四个UPDATE操作,平时执行只要半个小时,昨天执行了3个小时,想通过V$SQL看看各个UPDATE用了多少时间,发现只能看到前天的,昨天的这个几个UPDATE都找不到,请问有大大了解情况吗?
PS:由于取数的人比较多,可能那个时段是资源占用是高峰

回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
查询dba_hist_*
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
v$sql中看到的,都是仍在shared_pool中的,如果相应的SQL已被排出,在这个视图中就看不到了。
你可以结合dba_hist_sqltext、dba_hist_sqlstat和dba_hist_snapshot三个视图,查看相应SQL的历史记录和信息。
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
已经不在shared_pool区中,如果要查看,用一下3楼的方法
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
dingjun123 发表于 2015-10-22 10:05
查询dba_hist_*

感谢!
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
bfc99 发表于 2015-10-22 10:17
v$sql中看到的,都是仍在shared_pool中的,如果相应的SQL已被排出,在这个视图中就看不到了。
你可以结合 ...

先从dba_hist_sqltext找到SQL_ID,然后从dba_hist_sqlstat里面查看记录信息,就可以看到为什么执行这么长时间了,谢谢~
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
dandilion_pank 发表于 2015-10-22 10:48
先从dba_hist_sqltext找到SQL_ID,然后从dba_hist_sqlstat里面查看记录信息,就可以看到为什么执行这么长 ...

还要注意对应的快照(snapshot)是否是你运行的期间内的。否则查出来的,是该SQL_ID在所有快照中的情况。
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
bfc99 发表于 2015-10-22 10:54
还要注意对应的快照(snapshot)是否是你运行的期间内的。否则查出来的,是该SQL_ID在所有快照中的情况。

恩,谢谢~~
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行