Performance 如何在oracle数据库中获取最近的查询

Performance 如何在oracle数据库中获取最近的查询,performance,oracle11g,Performance,Oracle11g,我正在调试oracle DB amazon RDS、oracle-SE11.2.0.2.v7中的cpu峰值,并试图找出最近运行的导致峰值的查询。我使用下面的查询来实现这一点,但不知何故,下面的查询并没有显示应用程序运行的所有查询。这是因为运行的查询在我们的应用程序日志中报告,不会使用下面的查询显示 select sql_fulltext,LAST_LOAD_TIME,first_LOAD_TIME,last_active_time, cpu_time,executions,elapsed_tim

我正在调试oracle DB amazon RDS、oracle-SE11.2.0.2.v7中的cpu峰值,并试图找出最近运行的导致峰值的查询。我使用下面的查询来实现这一点,但不知何故,下面的查询并没有显示应用程序运行的所有查询。这是因为运行的查询在我们的应用程序日志中报告,不会使用下面的查询显示

select sql_fulltext,LAST_LOAD_TIME,first_LOAD_TIME,last_active_time, cpu_time,executions,elapsed_time from v$sql 
order by LAST_LOAD_TIME desc

我还尝试了按首次加载时间、最后一次活动时间排序。仍然没有看到所有查询。是否有任何其他查询或任何其他监控性能的方法?

v$sql只包含当前缓存在共享池中的查询。已清除的查询将不存在。数据库上是否安装了Statspack?如果是这样,则每N分钟将捕获一次顶级查询。应用程序发送的每一个查询都不太可能是这样,但它应该是性能较差的查询。@JustinCave-StatsPack没有启用或安装。似乎需要频繁运行Statspack作业来收集统计数据……这是昂贵的db cpu吗?是的,这是有成本的。它通常不错,但您可能不想安装它,而是从让它以最频繁的间隔收集最大数量的数据开始。除非您将其关闭,否则Oracle正在将基本相同的信息收集到AWR表中,您只是无权使用收集的数据。我从未遇到过将快照间隔设置为15或20分钟会导致任何明显的性能问题的系统。您获得的信息可能会帮助您解决比监视所产生的问题多得多的问题。如果是群集,请检查GV$SQL而不是V$SQL。