怎样实现在Oracle数据库10g中跟踪SQL

日期: 2009-02-16 来源:TechTarget中国 英文

 利用Oracle数据库10g,Oralce通过一个新的内置软件包DBMS_MONITOR合理化了SQL的跟踪,这个软件包中包含以前无书面记载的跟踪工具(如DBMS_SUPPORT软件包)的功能。现在,您可以轻松地从头到尾–从客户机到中间层再到后端–跟踪任何用户的会话,并且基于特定的客户ID、模块或动作生成跟踪文件。

  此外,Oracle数据库10g包含一种新的实用程序trcsess,它可以让您基于会话ID或模块名称之类的条件,有选择地从大量跟踪文件中抽取出跟踪数据,并将它们保存到一个文件中。该实用程序在共享服务器配置中特别有用,因为调度程序可能把每一个用户请求传递给不同的共享服务器进程,从而为任何给定的会话产生多个跟踪文件。与通过大量跟踪文件发掘信息不同,Oracle数据库10g的trcsess可以让您获得关于单一用户会话的整合后的跟踪信息。

  开始

  和Oracle数据库的以前版本一样,跟踪文件将被输出到由服务器的初始化文件(或spfile)的user_dump_dest参数指定的目录中。默认的位置取决于操作系统;例如,对于使用DBCA的Microsoft Windows平台,默认位置是$ORACLE_BASEinstance_nameadminudump,其中instance_ name是Oracle实例的名称。您可以通过使用以下改变会话命令来动态地更改该参数:


 alter session set user_dump_dest=”c:kflosstrace”;

  您还可以把您自己的标记添加到跟踪文件名中,以便您能够更容易地找到生成的文件。为此,可以在启动跟踪之前设置tracefile_identifier初始化参数:


 alter session set
  tracefile_identifier =”kfloss_test”;

  通过该命令生成的跟踪文件带有您设置的附加在文件名后的字符串值。尽管这些改变会话命令都不是必要的,但是它们都会使查找跟踪会话的结果更容易。

  现在,我们已经设置了这些参数,那么让我们看看新的跟踪软件包和Oracle企业管理器的界面。让我们使用新的DBMS_MONITOR软件包通过模块名称和客户机名称来建立一个跟踪。

  用DBMS_MONITOR建立跟踪

  DBMS_MONITOR包具有多个例程,用于启用和禁用统计数据集合,以及用于根据会话ID进行跟踪、或者基于服务名称、模块名称和动作名称的组合进行跟踪。(它们三者从层次结构上是关联的:您不能在不指定模块和服务名称的情况下指定一个动作,但是您可以只指定服务名称,或者只指定服务名称和模块名称)。 模块名称和动作名称(如果有的话)都来自于应用程序代码内部。例如,Oracle电子商务套件应用程序在代码中提供了模块名称和动作名称,这样您就可以在任何Oralce企业管理器页面中通过名称来识别它们。 (PL/SQL开发人员可以通过使用DBMS_APPLICATION_INFO包设置模块名称和动作名称,把一些调用嵌入到他们的应用程序中)。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐