0

我正在寻找一种可以在运行时分析 SQL 查询的工具。我想捕获在运行时调用 Web 应用程序中的函数期间执行的所有查询。如果您能帮我解决这个问题,那就太好了。

问候

4

2 回答 2

2

“我想捕获在调用函数期间执行的所有查询......”

这是简单的一点:10046 事件会将会话执行的所有 SQL 写入跟踪文件,可以使用标准 tkprof 实用程序或跟踪分析器等其他工具(如果您有 Oracle 支持合同)来挖掘该文件以获取信息. 蒂姆霍尔写了一个很好的介绍:在这里阅读

“...在运行时的 Web 应用程序中。”

这更难。“Web 应用程序”通常意味着连接池,这使得很难确定哪个数据库会话链接到哪个前端活动。但是,更高版本的 Oracle 可以通过 DBMS_MONITOR 等工具提供帮助。 了解更多

于 2012-09-21T22:58:14.630 回答
1

不确定任何工具,但select * from v$sql;可以提供大量信息。

它将向您显示正在运行的 SQL 查询、正在运行查询的应用程序类型,否。处理的行数、优化器成本、用户 i/o 等待时间、应用程序等待时间、缓冲获取、并发等待时间、直接写入、磁盘读取等(以及一大堆其他信息)

于 2012-09-21T20:54:33.040 回答