我可以使用什么工具来识别查询使用的数据库资源? (Oracle)的

时间:2016-01-28 08:02:53

标签: oracle profiling benchmarking

从开发人员的角度来看,我需要检查我的查询是否有效。我只是想看看服务器有多少内存,处理能力,服务器使用的秒数和记录数来满足我的查询。

在Toad中已经可以看到秒数和记录数。只是使用的内存和处理器。

我目前正在探索锤子数据库,但我认为我可以使用更轻量级的工具来获取所使用的资源。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

最佳工具是SQL跟踪 有几种方法可以启用SQL跟踪 https://oracle-base.com/articles/misc/sql-trace-10046-trcsess-and-tkprof
但无论如何,您需要访问服务器上的转储文件夹以获取跟踪文件 (并确保在获取跟踪文件之前关闭会话,因为仅在关闭游标后才将统计信息转储到跟踪文件中。)

如果您没有此类访问权限,可以尝试

GV$SQL_MONITOR
GV$SQL_PLAN_MONITOR
GV$SQL_PLAN
GV$ACTIVE_SESSION_HISTORY
GV$SESSION_LONGOPS
GV$SQL

这将返回带有格式化的html文件的CLOB 但是这个工具不太精确(粒度为1秒),因此它仅对长时间运行的查询有效。并且查询需要由Oracle监控。 (您可以使用/ * + monitor * / hint,但有时候它没有帮助)

可以获得相同的统计数据
mysite.com/login?username=user&password=user

视图。