zoukankan      html  css  js  c++  java
  • ORA3136 错误解决

    参考metalink的文档:Doc ID: Note:3136.1 and 465043.1


    WARNING: inbound connection timed out (ORA-3136)


    1.参数含义:
    SQLNET.INBOUND_CONNECT_TIMEOUT is set to a value in seconds and determines how long a client has to

    provide the necessary authentication information to a database.


    INBOUND_CONNECT_TIMEOUT_listenername is set to a value in seconds and determines how long a client has

    to complete its connect request to the listener after the network connection has been established.


    2.参数意义:
    在oracle 10.2以后的版本当中将SQLNET.INBOUND_CONNECT_TIMEOUT 和 INBOUND_CONNECT_TIMEOUT_listenername参

    数设置缺省为60s,之前的版本当中默认为0(即关闭此功能)。这两个参数用于防止恶意client通过网络攻击db

    server


    Note: This timeout restriction was introduced to combat Denial of Service (DoS) attack whereby

    malicious clients attempt to flood database servers with connect requests that consumes resources.


    3.报出此warning的原因如下:


    a.server收到一个从恶意client发来的连接请求,在这种情况下抛出的错误将是预期的和可取的。(客户端反复输错

    username/password)
    b.服务器接收到一个有效的客户端连接请求,但客户需要很长时间来验证超过默认60秒。(客户端网络延迟)
    c.DB服务器负载很高导致它无法在指定时间内完成客户端登录请求。(数据库服务器高负载)


    4.解决办法:
    a.验证db server端,本地连接是否成功(listener是否可用)
    b.验证本地连接是否延迟(本地网络是否高效可用)
    c.验证数据库性能(db server是否高负载)
    d.告警日志是否在之前报过ORA-600或ORA-7445
    e.检查是否有client反复尝试登录密码(这是目前最有可能的原因)
    f.关闭此功能(将2参数设置为0,设置方法参照步骤5)也可将2参数设置为适当值。


    5.修改这两个参数的方法如下:


    Edit the server side sqlnet.ora file and add this parameter:
    SQLNET.INBOUND_CONNECT_TIMEOUT=<n>  Where <n> is the value in seconds.
    E.g.:
    SQLNET.INBOUND_CONNECT_TIMEOUT = 120


    Edit the listener.ora file and add this parameter:
    INBOUND_CONNECT_TIMEOUT_<listenername> = <n>  Again, where <n> is the timeout value in seconds. 
    For example if the listener name is LISTENER then use:
    INBOUND_CONNECT_TIMEOUT_LISTENER = 110


    6.总结:
    此warning提示,极有可能是有客户端在不知道密码的情况下,反复尝试连接数据库或登录延迟导致,个人认为可以

    忽略,重启监听并不会解决该问题,只是暂时清空了监听的告警信息,也可观察一段时间,或抓取性能分析报告,确

    认是否为负载过高导致性能下降从而引起的告警。
     


     

    :ORA-3136 错误解决
    :ORA-3136 错误解决

    1、首先通过后台alter日志发现报如下错误:
    Mon May 20 12:44:19 2013
    WARNING: inbound connection timed out (ORA-3136)
    Mon May 20 12:44:19 2013
    WARNING: inbound connection timed out (ORA-3136)
    Mon May 20 12:44:19 2013
    WARNING: inbound connection timed out (ORA-3136)
     
    2、观察sqlnet.log中记录如下错误:
    Fatal NI connect error 12514, connecting to:
     (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XXXXX)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)
    (SERVICE_NAME=XXXXXXXX)(INSTANCE_NAME=XXXX)(CID=(PROGRAM=XXXXXX)(HOST=XXXXXX)
    (USER=oracle))))
      VERSION INFORMATION:
     TNS for Linux: Version 10.2.0.1.0 - Production
     TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production
      Time: 28-11月-2008 14:10:42
      Tracing not turned on.
      Tns error struct:
        ns main err code: 12564
        TNS-12564: TNS:connection refused
        ns secondary err code: 0
        nt main err code: 0
        nt secondary err code: 0
        nt OS err code: 0
     
    3、重新reload一下Listner:
      
    [oracle@XXX ~]$ lsnrctl
    LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 20-5月 -2013 12:54:56
    Copyright (c) 1991, 2007, Oracle.  All rights reserved.
    Welcome to LSNRCTL, type "help" for information.
     
    LSNRCTL> reload
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    The command completed successfully

     
    LSNRCTL> services
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    Services Summary...
    Service "+ASM" has 1 instance(s).
      Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:0 refused:0 state:ready
             LOCAL SERVER
    Service "+ASM_XPT" has 1 instance(s).
      Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:0 refused:0 state:ready
             LOCAL SERVER
    Service "PLSExtProc" has 1 instance(s).
      Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:0 refused:0
             LOCAL SERVER
    Service "XXXXXXXX" has 2 instance(s).
      Instance "XXXXXX", status READY, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:16 refused:0 state:ready
             REMOTE SERVER
             (ADDRESS=(PROTOCOL=tcp)(HOST=XXXXXXXX)(PORT=1521))
      Instance "XXXXXX", status READY, has 2 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:0 refused:0 state:ready
             REMOTE SERVER
             (ADDRESS=(PROTOCOL=tcp)(HOST=XXXXXX)(PORT=1521))
          "DEDICATED" established:31 refused:0 state:ready
             LOCAL SERVER
    Service "XXXXXXXXX" has 2 instance(s).
      Instance "XXXXXX", status READY, has 1 handler(s) for this service...
        Handler(s):
          "D000" established:0 refused:0 current:0 max:972 state:ready
             DISPATCHER <machine: XXXXXXX, pid: 28579>
             (ADDRESS=(PROTOCOL=tcp)(HOST=XXXXXX)(PORT=6661))
      Instance "XXXXXX", status READY, has 1 handler(s) for this service...
        Handler(s):
          "D000" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: XXXX, pid: 28800>
             (ADDRESS=(PROTOCOL=tcp)(HOST=XXXXX)(PORT=51924))
    Service "XXXXXXXX" has 2 instance(s).
      Instance "XXXXXXX", status READY, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:16 refused:0 state:ready
             REMOTE SERVER
             (ADDRESS=(PROTOCOL=tcp)(HOST=XXXXX)(PORT=1521))
      Instance "XXXXXXX", status READY, has 2 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:0 refused:0 state:ready
             REMOTE SERVER
             (ADDRESS=(PROTOCOL=tcp)(HOST=XXXXXXX)(PORT=1521))
          "DEDICATED" established:31 refused:0 state:ready
             LOCAL SERVER
    The command completed successfully

    LSNRCTL> show inbound_connect_timeout
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    LISTENER parameter "inbound_connect_timeout" set to 60
    The command completed successfully
     
    4、修改之后观察一段时间系统恢复正常。

  • 相关阅读:
    Linux_文件系统、磁盘分区_RHEL7
    Linux_LVM、RAID_RHEL7
    Linux_LVM、RAID_RHEL7
    Linux_系统时间管理
    简单聊聊HDFS RBF第二阶段工作近期的一些进展
    LinkedBlockingQueue和ArrayBlockingQueue之间的比较
    LinkedBlockingQueue和ArrayBlockingQueue之间的比较
    公司如何使用开源软件
    公司如何使用开源软件
    ListenableFuture和CompletableFuture简单小结
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3098998.html
Copyright © 2011-2022 走看看