解析listener跟踪文件

 

在上篇《监听器控制程序lsnrctl跟踪trace file》(http://space.itpub.net/17203031/viewspace-713587)中,我们探讨了如何获取到监听器跟踪文件。本篇中,我们继续来研究如何分析跟踪文件,从而发现其中的问题。

 

1、实验文件获取

 

首先,我们先按照上篇中介绍的方法,获取一个跟踪文件片段。先对listener.ora文件进行配置参数。

 

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =     

      (ADDRESS = (PROTOCOL = TCP)(HOST = www-0e6111dff74)(PORT = 1521))

    )

  )

 

TRACE_TIMESTAMP_LISTENER=true

TRACE_LEVEL_LISTENER=16

 

 

重新reload监听器控制文件,应用参数。

 

 

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

 

C:\Documents and Settings\Administrator>lsnrctl

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-12-2011 19:49:09

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

欢迎来到LSNRCTL, 请键入"help"以获得信息。

--使用reload命令,重新加载参数文件;

LSNRCTL> reload

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-0e6111dff74)(PORT=1521)))

命令执行成功

 

 

此时,监听跟踪模式启动。

 

 

LSNRCTL> status

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-0e6111dff74)(PORT=1521)))

LISTENER STATUS

------------------------

别名                      LISTENER

版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ

ction

启动日期                  20-12-2011 19:33:01

正常运行时间              0 0 小时 16 22

跟踪级别                  support

安全性                    ON: Local OS Authentication

SNMP                      OFF

监听程序参数文件          D:\oracle\network\admin\listener.ora

监听程序日志文件          D:\oracle\network\log\listener.log

监听程序跟踪文件          D:\oracle\network\trace\listener.trc

监听端点概要...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-0e6111dff74)(PORT=1521)))

服务摘要..

服务 "PLSExtProc" 包含 1 个例程。

  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

命令执行成功

 

 

其后,启动数据库orcl,使用sqlplus进行一次连接。之后关闭监听跟踪。

 

 

LSNRCTL> trace off

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-0e6111dff74)(PORT=1521)))

命令执行成功

LSNRCTL>

 

 

我们就可以在目录位置上找到listener.trc

 

2Trace文件处理和解析

 

我们使用的是带时间戳的trace文件生成。打开文件后,可以看到以操作调用为顺序的trace文件记录。

 

 

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-12-2011 19:49:12

 

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

 

[20-12-2011 19:49:12:031] --- TRACE CONFIGURATION INFORMATION FOLLOWS ---

[20-12-2011 19:49:12:031] New trace stream is D:\oracle\network\trace\listener.trc

[20-12-2011 19:49:12:031] New trace level is 16

[20-12-2011 19:49:12:031] --- TRACE CONFIGURATION INFORMATION ENDS ---

[20-12-2011 19:49:12:031] nscontrol: entry

[20-12-2011 19:49:12:031] ntvlaarl: entry

 

 

原始跟踪文件的特点是详细记录了监听器的每个动作、每条信息。我们希望知道的和不希望知道的内容都在其中。缺点是不容易阅读,其中很多缩写对技术水平要求很高。

 

不过,要注意trace文件中的条目,都是按照entry+exit的体系嵌套起来的。如下:

 

 

[20-12-2011 19:49:40:640] nau_gparams: entry

[20-12-2011 19:49:40:640] nam_gbp: Reading parameter "sqlnet.authentication_required" from parameter file

[20-12-2011 19:49:40:640] nam_gbp: Parameter not found

[20-12-2011 19:49:40:640] nau_gparams: Using default value "FALSE"

[20-12-2011 19:49:40:640] nau_gslf: entry

[20-12-2011 19:49:40:640] nam_gic: entry

[20-12-2011 19:49:40:640] nam_gic: Counting # of items in "sqlnet.authentication_services" parameter

[20-12-2011 19:49:40:640] nam_gic: Parameter not found

[20-12-2011 19:49:40:640] nam_gic: Found 0 items

[20-12-2011 19:49:40:640] nam_gic: exit

[20-12-2011 19:49:40:640] nau_gslf: Using default value "all available adapters"

[20-12-2011 19:49:40:640] nauss_set_state: entry

[20-12-2011 19:49:40:640] nauss_set_state: exit

[20-12-2011 19:49:40:640] nau_gslf: exit

[20-12-2011 19:49:40:640] nau_gparams: exit

 

 

上面片段说明监听器程序在获取sqlnet.ora参数中,没有取到而去应用默认值的过程。

 

另外,Oracle也提供了工具对监听器跟踪文件进行解析。TrcasstOracle提供的一个跟踪文件解析工具,可以帮我们分析跟踪文件内容。

 

 

D:\oracle\NETWORK\trace>trcasst

 

Trace Assistant 实用程序: 版本 10.2.0.1.0 正式版, 平台: 20111220 21:14:45

 

版权所有 (c) 2001, 2005, Oracle。保留所有权利。

 

 

TNS-04302: Trace Assistant 用法错误: 文件名缺失。

 

用法: trcasst [options]

      [options]  默认值为 -odt -e0 -s

        总是最后一个参数

    -o[c|d][u|t][q]  Net 服务和 TTC 信息

      [c]  Net 服务信息概要

      [d]  详细的 Net 服务信息

      [u]  TTC 信息概要

      [t]  详细的 TTC 信息

      [q]  SQL 命令 ( u 一起使用)

    -s  统计数据

    -e[0|1|2]  错误信息, 默认为 0

      [0]  转换 NS 错误数

      [1]  转换错误

      [2]  没有转换的错误数

    -l[a|i ]  连接信息

      [a]  列出跟踪文件中的所有连接

      [i ]  对指定的连接进行解码

 

 

D:\oracle\NETWORK\trace>dir

 驱动器 D 中的卷没有标签。

 卷的序列号是 2294-1384

 

 D:\oracle\NETWORK\trace 的目录

 

2011-12-20  19:49   

          .

2011-12-20  19:49   

          ..

2011-12-20  19:50           315,912 listener.trc

               1 个文件        315,912 字节

               2 个目录 48,617,730,048 可用字节

 

--将分析结果输出到res.txt文件中。

D:\oracle\NETWORK\trace>trcasst listener.trc>res.txt

 

D:\oracle\NETWORK\trace>

 

 

生成文件中:

 

 

Trace Assistant 实用程序: 版本 10.2.0.1.0 正式版, 平台: 2011年12月20日 20:53:49

 

版权所有 (c) 2001, 2005, Oracle。保留所有权利。

 

 

    *************************************************************************

    *                        Trace Assistant                                *

*************************************************************************

 

 

 

3Trace文件处理报告解析

 

本节介绍trace分析报告内容。大体上,分析报告有四部分内容:

 

ü        发送send信息部分

 

 

---&gt Send 88 bytes - Redirect packet  timestamp=20-12-2011 19:49:16:250

Redirect data length: 78

Redirect Data:     (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\NTN_D9C_D5ECB31F.ORA)))

 

 

ü        接受receive信息部分

 

 

  timestamp=20-12-2011 19:50:31:171

Current NS version number is: 313.

Lowest NS version number can accommodate is: 300.

Global options for the connection:

    Don't care

    Maximum SDU size: 2048

    Maximum TDU size: 32767

    NT protocol characteristics:

        Asynchronous mode

        Callback mode

        Test for more data

        Full duplex I/O

    Line turnaround value: 0

    Connect data length: 149

    Connect data offset: 58

    Connect data maximum size: 2040

        Disable NA services on this connection

        No NA services are linked in

        Disable NA services on this connection

        No NA services are linked in

    (DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))

    (COMMAND=trace)(TRACE=off)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=169

869568)))

 

 

ü        错误信息

 

对连接运行中出现的错误,也会给予显示和解析。

 

 

///

Error found. Error Stack follows:

              id:4

  Operation code:72

      NS Error 1:12586

      NS Error 2:0

NT Generic Error:0

  Protocol Error:0

        OS Error:0

 NS & NT Errors Translation

 

TNS-04315: Trace Assistant 内部错误: Can't find resource for bundle oracle.net.trcasst.mesg.TnsError, key 12586

/

00000, 00000 "不是错误"

 // *原因: 一切操作正常。

// *操作: 不必着急: 尽管放心。

/

00000, 00000 "不是错误"

 // *原因: 一切操作正常。

// *操作: 不必着急: 尽管放心。

/

///

 

 

ü        统计信息

 

 

----------------------

跟踪文件统计数据:

----------------------

开始时间戳: 20-12月-2011 19:49:12:031

结束时间戳: 20-12月-2011 19:50:31:171

会话总数: 13

数据库:

  操作计数: 打开次数    0,  语法分析次数    0,  执行次数    0,  提取次数    0

ORACLE NET SERVICES:

  总调用数: 已发送        18 个, 已接收        16 个,           0 oci

  总字节数: 已发送      3205 字节,  已接收      3583 字节

    平均字节数: 每包发送       178 字节,  每包接收       223 字节

    最大字节数: 已发送       965 字节,  已接收       714 字节

 

  总计包数: 已发送     18 个,  已接收     16 个

 

 

如果存在问题,我们就可以从中发现这个跟踪时间段系统的工作情况。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17203031/viewspace-713650/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17203031/viewspace-713650/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值