娜娜 2020-07-28
有没有一个能跟踪oracle数据库中执行SQL代码的跟踪工具?
通过Oracle企业管理器建立跟踪从Top Consumers页面(可以通过Additional Monitoring Links区域中的Performance页面得到,如图1所示)开始。该页面显示服务、模块、客户和动作对系统资源的当前使用情况。
图1:Oracle企业管理器的Top Consumers页面
您可以单击Top Services、Top Modules、Top Actions、Top Clients或Top Sessions选项卡,来查看这些类别的顶级消费者中每一种的详细信息,随后您可以通过这些页面中的每一个页面轻松启用(或禁用)SQL跟踪。从页面上的列表中简单地选择项目,然后单击启用SQL跟踪(Enable SQL Trace)开始跟踪(当您完成跟踪时,单击禁用按钮)。
您还可以启用(或禁用)这些页面上列出的任何项目的统计数据集合。(DBMS_MONITOR还提供了用于启用和禁用数据集合的例程)。
分析跟踪结果
获取关于Kimberly Floss的图书的信息
无论您是使用DBMS_MONITOR或者是使用Oracle企业管理器建立跟踪,您都将使用trcsess 命令行工具来整合跟踪文件。单击Oracle企业管理器中的查看SQL跟踪(View SQL Trace)按钮显示一个页面,其中显示了您将用于整合所有跟踪文件的语法。
要确保用双引号括住字符串,并在文件名后添加一个".trc"扩展名;否则,TKPROF将不会把它作为一个文件名来接受。在执行该命令之前,找到在user_dump_dest(或者,如果您没有更改该参数名,则在\udump)中指定的目录。
C:\...\udump> trcsess output="kfloss.trc" service="testenv"
module="product update"
action="batch insert"
随后,您可以对整合的跟踪文件运行TKPROF,以生成一份报告。
C:\...\udump> tkprof kfloss.trc
output=kfloss_trace_report SORT=(EXEELA, PRSELA, FCHELA)
如果您不终止跟踪,那么运行该服务和模块的每一个会话都会被跟踪。因此,当您完成跟踪时,要确保通过使用Oralce企业管理器或DBMS_MONITOR包来终止跟踪。