ITPub博客

首页 > 数据库 > Oracle > 监听器日志文件(listener.log)到底记录了些啥

监听器日志文件(listener.log)到底记录了些啥

翻译 Oracle 作者:Hoegh 时间:2015-09-06 11:44:49 0 删除 编辑

分析监听日志文件

这一章节描述了监听日志文件中记录了什么内容。该章节包含以下主题:


  • 监听器日志审计跟踪信息
  • 监听器服务注册事件信息
  • 监听器直接Hand-Off信息
  • 监听器订阅ONS节点关闭事件信息
  • 监听器Oracle集群通知信息


监听器日志审计跟踪信息

监听器日志文件包含了审计跟踪信息,您可以用来收集和分析网络使用情况;还包括以下信息:

l  客户端的连接请求

l  监听器控制工具发出的RELOADSTARTSTOP, STATUS或者 SERVICES命令

您可以使用审计跟踪信息来查看趋势和用户活动。具体的,首先将信息存储到一个表里,然后整理成报告的格式。为了将数据导入到表中,可以使用导入实用程序,如SQL* Loader

监听器日志审计跟踪信息的格式

审计跟踪信息遵照以下格式:

点击(此处)折叠或打开

  1. Timestamp * Connect Data [* Protocol Info] * Event [* SID | Service] * Return Code

审计跟踪信息的特性如下:

l  每个字段由星号(*)分隔

l  只有在尝试建立连接时才会出现协议地址信息和服务名称或SID信息

l  成功的连接或命令返回代码零

l  失败生成一个可以映射到错误消息的代码

16-4显示了一个发出reload命令请求的日志文件片段。

16-4 重新加载监听器命令的监听器日志事件

点击(此处)折叠或打开

  1. 14-MAY-2009 00:29:54 *
  2. (connect_data=(cid=(program=)(host=sales-server)(user=jdoe))(command=reload)
  3. (arguments=64)(service=listener)(version=135290880))
  4. * reload * 0

16-5显示了一个连接请求成功的日志文件片段。

16-5 连接请求成功的监听器日志事件

点击(此处)折叠或打开

  1. 14-MAY-2009 15:28:58 *
  2. (connect_data=(service_name=sales.us.example.com)(cid=(program=)(host=sales-server)
  3. (user=jdoe)))
  4. * (address=(protocol=tcp)(host=192.168.2.35)(port=41349)) * establish
  5. * sales.us.example.com * 0
16-6显示了销售服务器主机执行STATUS命令成功的日志文件片段。紧接着是由IP地址为192.168.2.35的客户端发出的连接请求尝试失败的信息。该连接请求导致了一个ORA-12525报错:“TNS:listener has not received client's request in time allowed error message”。当客户端在由listener.ora文件的INBOUND_CONNECT_TIMEOUT_listener_name参数指定的时间内无法完成连接时,就会报ORA-12525错误。这个客户端可能在对监听器进行DOS攻击。

例 16-6 连接请求失败的监听器日志事件

点击(此处)折叠或打开

  1. 03-MAY-2009 16:41:57 *
  2. (CONNECT_DATA=(CID=(PROGRAM=)(HOST=sales-server)(USER=jdoe))(COMMAND=status)
  3. (ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=153092352)) * status * 0
  4. 03-MAY-2009 16:42:35 * <unknown connect data> *
  5. (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.35)(PORT=53208)) * establish *
  6. <unknown sid> * 12525
  7. TNS-12525: TNS:listener has not received client


监听器服务注册事件信息

监听器记录了服务注册事件信息。在服务注册期间,PMON进程向监听器提供以下信息:

l  数据库的每个运行实例的服务名

l  数据库实例名

l  可用的服务处理器(调度程序或专用服务器)

l  调度程序,实例和节点负载信息

l  动态监听端点

16-14中列出的注册服务相关的事件,均记录在listener.log中。

16-14 服务注册事件日志信息

事件

描述

service_register

监听器接收到一个实例的注册信息

service_update

监听器接收到特定实例的更新服务信息,例如调度程序或者实例负载信息等

service_died

监听器和PMON进程失去连接。该实例的所有注册信息被丢弃。在PMON进程重新注册之前,所有的客户端都无法连接该实例。

监听器服务注册信息的格式

服务注册事件日志信息格式如下:

点击(此处)折叠或打开

  1. Timestamp * Event * Instance Name * Return Code
服务注册字段的特性如下:

l  每个字段由星号(*)分隔

l  对于一个实例而言,在一行中出现多次是正常的

l  注册成功返回代码零,这意味着客户端可以连接到该实例

l  注册失败会产生一个可以映射到错误消息的代码

16-7显示了服务注册事件的日志文件片段。在一次成功的service_register事件之后,监听器能够接收客户端请求;但是在service_died事件发生后,监听器将无法将收到客户端的请求。

16-7 服务注册事件的监听器日志

点击(此处)折叠或打开

  1. -------------------------------
  2. 14-MAY-2009 15:28:43 * service_register * sales * 0
  3. 14-MAY-2009 15:28:43 * service_register * sales * 0
  4. 14-MAY-2009 15:28:58 *
  5. (connect_data=(service_name=sales.us.example.com)
  6. (cid=(program=)(host=sales-server)(user=jdoe)))
  7. * (address=(protocol=tcp)(host=192.168.2.35)(port=41349)) * establish
  8. * sales.us.example.com * 0
  9. 14-MAY-2009 15:38:44 * service_update * sales * 0
  10. 14-MAY-2009 15:38:44 * service_update * sales * 0
  11. 14-MAY-2009 15:48:45 * service_update * sales * 0
  12. 14-MAY-2009 15:48:45 * service_update * sales * 0
  13. 14-MAY-2009 15:50:57 *
  14. (connect_data=(service_name=sales.us.example.com)(cid=(program=)
  15. (host=sales-server)(user=jdoe)))
  16. * (address=(protocol=tcp)(host=192.168.2.35)(port=41365)) * establish
  17. * sales.us.example.com * 0
  18. 14-MAY-2009 15:51:26 * service_died * sales * 12537
  19. 14-MAY-2009 15:51:26 * service_died * sales * 12537
  20. 14-MAY-2009 15:52:06 *
  21. (connect_data=(service_name=sales.us.example.com)
  22. (cid=(program=)(host=sales-server)(user=jdoe)))
  23. * (address=(protocol=tcp)(host=192.168.2.35)(port=41406)) * establish
  24. * sales.us.example.com * 12514
  25. TNS-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor


监听器直接Hand-Off信息

监听器记录了发给调度程序的直接Hand-Off信息。这些信息被格式化如下:

Timestamp * Presentation * Handoff  * Error Code

直接Hand-Off信息的特性如下:

l  每个字段由星号(*)分隔

l  成功的连接或命令返回代码零

l  失败生成一个可以映射到错误消息的代码

16-8显示了日志文件中的一个直接Hand-Off信息。

16-8 直接Hand-Off信息的监听器日志


点击(此处)折叠或打开

  1. 21-MAY-2009 10:54:55 * oracle.aurora.net.SALESHttp2 * handoff * 0


监听器订阅ONS节点关闭事件信息

如果ONS配置文件可用,监听器将订阅数据库启动期间Oracle通知服务(ONS)节点的关闭事件。当监听器接收到来自ONS的节点关闭事件后, 该订阅会使监听器删除受影响的服务。对于该事件通知,监听器使用异步订阅。

如果订阅未完成,每次执行STATUS命令时就会在监听器日志文件中记录如下的警告信息;例如,如果ONS守护程序在主机上未运行。


点击(此处)折叠或打开

  1. WARNING: Subscription for node down event still pending
当订阅悬而未决时,监听器无法接收到ONS事件。除此之外,监听器的其他功能不会受到影响。


监听器Oracle集群通知信息

如果安装了所需的Oracle集群件(以下日志消息中提到的CRS)库,并且主机上的Oracle Clusterware已启动,那么在启动或者关闭过程中,Oracle监听器将向Oracle集群件通知监听器状态。在通知成功后,监听器会在日志中记录该事件。如果通知失败,将不会记录日志。


点击(此处)折叠或打开

  1. Listener completed notification to CRS on start
  2. Listener completed notification to CRS on stop


hoegh
15.9.6
-- The End --


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

请登录后发表评论 登录
全部评论

注册时间:2015-03-13

  • 博文量
    132
  • 访问量
    2058635