热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

监听器日志文件(listener.log)到底记录什么

分析监听日志文件这一章节描述了监听日志文件中记录了什么内容。该章节包含以下主题:bull;监听器日志审计跟踪信息bull;监

分析监听日志文件 这一章节描述了监听日志文件中记录了什么内容。该章节包含以下主题: bull; 监听器日志审计跟踪信息 bull; 监

分析监听日志文件

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

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

监听器日志审计跟踪信息

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

  • 客户端的连接请求
  • 监听器控制工具发出的RELOAD,START,STOP,, STATUS或者 SERVICES命令
  • 您可以使用审计跟踪信息来查看趋势和用户活动。具体的,首先将信息存储到一个表里,然后整理成报告的格式。为了将数据导入到表中,可以使用导入实用程序,如SQL* Loader。

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

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

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

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

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

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

    14-MAY-2009 00:29:54 *

    (connect_data=(cid=(program=)(host=sales-server)(user=jdoe))(command=reload)

    (arguments=64)(service=listener)(version=135290880))

    * reload * 0

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

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

    14-MAY-2009 15:28:58 *

    (connect_data=(service_name=sales.us.example.com)(cid=(program=)(host=sales-server)

    (user=jdoe)))

    * (address=(protocol=tcp)(host=192.168.2.35)(port=41349)) * establish

    * 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 连接请求失败的监听器日志事件

    03-MAY-2009 16:41:57 *

    (CONNECT_DATA=(CID=(PROGRAM=)(HOST=sales-server)(USER=jdoe))(COMMAND=status)

    (ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=153092352)) * status * 0

    03-MAY-2009 16:42:35 * *

    (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.35)(PORT=53208)) * establish *

    * 12525

    TNS-12525: TNS:listener has not received client

    监听器服务注册事件信息

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

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

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

    事件

    描述

    service_register

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

    service_update

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

    service_died

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

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

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

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

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

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

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

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

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

    监听器直接Hand-Off信息

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

    Timestamp * Presentation * Handoff * Error Code

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

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

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

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

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

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

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

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

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

  • WARNING: Subscription for node down event still pending
  • 监听器Oracle集群通知信息

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

    推荐阅读
    • 基于PgpoolII的PostgreSQL集群安装与配置教程
      本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
    • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
    • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
    • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
    • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
    • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
    • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
      本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
    • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
    • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
      本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
    • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
    • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
    • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
    • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
      本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
    • Centos7.6安装Gitlab教程及注意事项
      本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
    • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
    author-avatar
    kmv2145234
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有