本节说明使用SQL Trace和TKPROF的基本过程。
生成输出文件的过程如下:
- 设置跟踪文件管理的初始化参数。
请参阅“ 步骤1:设置跟踪文件管理的初始化参数 ”。
- 为所需的会话启用SQL跟踪工具,然后运行该应用程序。此步骤将生成一个跟踪文件,其中包含应用程序发出的SQL语句的统计信息。
请参阅“ 步骤2:启用SQL跟踪功能 ”。
- 运行TKPROF,将步骤2中创建的跟踪文件转换为可读的输出文件。此步骤可以选择创建一个SQL脚本,您可以使用该脚本将统计信息存储在数据库中。
请参阅“ 步骤3:使用TKPROF生成输出文件 ”。
- (可选)运行在步骤3中生成的SQL脚本,以将统计信息存储在数据库中。
请参阅“ 步骤4:存储SQL跟踪工具统计信息 ”。
本节包含以下主题:
- 步骤1:设置跟踪文件管理的初始化参数
要启用跟踪文件,必须确保设置了特定的初始化参数。 - 步骤2:启用SQL跟踪工具
您可以在实例或会话级别启用SQL跟踪工具。 - 步骤3:使用TKPROF生成输出文件
TKPROF接受SQL跟踪工具生成的跟踪文件作为输入,并生成格式化的输出文件。TKPROF还可以生成执行计划。 - 步骤4:存储SQL跟踪工具统计信息
您可能想要保留SQL跟踪工具为应用程序生成的统计信息的历史记录,并随时间进行比较。
22.4.1步骤1:设置跟踪文件管理的初始化参数
要启用跟踪文件,必须确保设置了特定的初始化参数。
为会话启用SQL跟踪工具后,Oracle数据库将生成一个跟踪文件,其中包含该会话的跟踪SQL语句的统计信息。为实例启用SQL跟踪工具后,Oracle数据库将为每个进程创建一个单独的跟踪文件。
为跟踪文件管理设置初始化参数:
- 检查的设置
TIMED_STATISTICS,MAX_DUMP_FILE_SIZE以及DIAGNOSTIC_DEST初始化参数,如表示“ 表22-1 ”。表22-1启用SQL跟踪之前要检查的初始化参数
参数 描述 DIAGNOSTIC_DEST指定自动诊断存储库(ADR)主页的位置。每个数据库实例的诊断文件位于此专用目录中。
MAX_DUMP_FILE_SIZE在数据库实例级别启用SQL跟踪功能后,对数据库的每次调用都会以操作系统的文件格式在文件中写入文本行。这些文件在操作系统块中的最大大小受此初始化参数的限制。默认值为
UNLIMITED。TIMED_STATISTICS启用和禁用SQL跟踪工具的定时统计信息收集,例如CPU和经过时间,以及
V$视图中各种统计信息的收集。如果
STATISTICS_LEVEL设置为TYPICAL或ALL,则默认值TIMED_STATISTICS是true。如果STATISTICS_LEVEL设置为BASIC,则默认值TIMED_STATISTICS是false。启用时序会导致对低级操作的额外时序调用。这是一个动态参数。它也是一个会话参数。
- 设计一种识别结果跟踪文件的方法。
确保您知道如何按名称区分跟踪文件。您可以通过在程序中包含诸如之类的语句来标记跟踪文件。然后,您可以将每个文件追溯到创建它的过程。
SELECTprogram_name' FROM DUAL您还可以设置
TRACEFILE_IDENTIFIER初始化参数以指定自定义标识符,该标识符将成为跟踪文件名的一部分。例如,您可以添加my_trace_id到后续的跟踪文件名,以便通过以下方式轻松识别:ALTER SESSION SET TRACEFILE_IDENTIFIER = 'my_trace_id'; - 如果操作系统保留文件的多个版本,请确保版本限制足够高,以容纳您希望SQL跟踪工具生成的跟踪文件的数量。
- 如果生成的跟踪文件可以由操作系统用户而非您自己所有,则请确保您具有使用TKPROF格式化它们的必要权限。
也可以看看:
- Oracle数据库参考,了解
DIAGNOSTIC_DEST,STATISTICS_LEVEL,TIMED_STATISTICS,和TRACEFILE_IDENTIFIER初始化参数 - 《 Oracle数据库管理员指南》,以学习如何控制跟踪文件的大小




