如何在oracle中运行跟踪,可以捕获读取,写入,cpu和查询持续时间

时间:2010-07-29 02:37:43

标签: sql-server-2005 oracle10g

在SQL SERVER术语中,它是PROFILER。

ORACLE术语中的内容是什么(标题是问题)?

或者是否有任何第三方工具(免费)可以完成这项工作?

请指导我,因为我是ORACLE的新手

由于

1 个答案:

答案 0 :(得分:2)

在Oracle中,您将使用SQL Trace and TKPROF。在SO的答案中有太多内容,但是本质上是你在会话级别(通常)“打开”SQL Trace,这会导致跟踪文件被写入包含您的信息类型的服务器正在找。然后使用TKPROF程序将跟踪文件转换为可读报告。

在SQL Plus会话中打开SQL跟踪:

SQL> alter session set sql_trace=true;

然后将所有内容记录到跟踪文件中,直到您发出:

SQL> alter session set sql_trace=false;

然后,您必须在服务器上找到生成的.trc文件,并使用TKPROF将其转换为报告:

OS> tkprof xxxx.trc mytrace.txt

然后您可以使用文本编辑器查看mytrace.txt。 tkprof命令有许多选项,记录在上面的链接中。

您还可以通过调用DBMS_SESSION.SET_SQL_TRACE过程从PL / SQL代码中打开和关闭跟踪。