zoukankan      html  css  js  c++  java
  • 11gr2 alert日志中报TNS-12535 TNS-00505原因及解决方法

    前面新装了11GR2 RAC,某天在做巡检的时候发现alert日志中存在如下报错
    Fatal NI connect error 12170.

    VERSION INFORMATION:
    TNS for Linux: Version 11.2.0.4.0 - Production
    Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
    TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
    Time: 23-MAY-2019 10:49:06
    Tracing not turned on.
    Tns error struct:
    ns main err code: 12535

    TNS-12535: TNS:operation timed out
    ns secondary err code: 12560
    nt main err code: 505

    TNS-00505: Operation timed out
    nt secondary err code: 110
    nt OS err code: 0
    Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=172.16.100.116)(PORT=38136))
    Thu May 23 10:49:19 2019
    触发原因:
    是由于程序异常断开导致超时,11g R1如果出现如上的错误信息会写入到sqlnet.log,11g R2会写入到alert.log,
    其实出现此错误是正常的现象。

    如果从深层次分析为什么出现这些错误,详细如下:
    一个客户端连接整个步骤:
    1、客户端发起一个connection连接监听
    2、监听启动一个专属进程(服务器进程,也就是我们通常说的LOCA=NO进程)用于接收这个connection
    3、在专属进程启动之后,监听会将这个connection传递给这个专属进程
    4、专属进程通过这个connection来跟客户端握手
    5、专属进程跟客户端信息交换需要建立一个session
    6、session打开

    当在以上的第3步到第4步时客户端关闭,所以当专属进程尝试跟客户端联系时发现连接已关闭时,就会报出我们看到的错误!!

    如果不想让这些信息打印在alert日志中,设置如下:
    在sqlnet.ora设置
    DIAG_ADR_ENABLED = OFF
    在listener.ora设置
    DIAG_ADR_ENABLED_ = OFF
    重启监听

  • 相关阅读:
    c++设计模式:工厂模式(Factory Pattern)
    lua和tolua++的安装
    c++设计模式:观察者模式(Observer Pattern)
    c++设计模式:抽象工厂模式(Abstract Factory Pattern)
    linux下搭建eclipsec++开发环境
    c++设计模式:单件模式(Singleton Pattern)
    SQL SERVER查询Job每个步骤执行结果情况
    XMLA清空Cube缓存
    【转载】SSIS 包组件的命名规则
    SQL SERVER 游标删除无数据试图
  • 原文地址:https://www.cnblogs.com/ritchy/p/10910964.html
Copyright © 2011-2022 走看看