今天遇到一问题 telnet 都是通的,但是两台数据库服务器还是无法 sqlplus 连接 ,最后发现 两台服务器的 mtu 值不同,其中一台为 1500 一台为9000,

以前只是认为 telnet 端口就是没问题的,但是 没想到还有 mtu 的限制。最后找到了如下的文档,将9000改到了1500 后恢复访问。网络一直都是我的薄弱环节。

TNS-12535/12606 and ORA-3136 on Connection to Database (Doc ID 2313573.1)

In this Document

  Symptoms
  Changes
  Cause
  Solution
  References

APPLIES TO:

Oracle Net Services - Version 12.1.0.2 to 12.2.0.1 [Release 12.1 to 12.2]
Information in this document applies to any platform.

SYMPTOMS

When trying to connect the database, client reporting the following Error:

ORA-28547: connection to server failed, probable Oracle Net admin error

The database alert log is reporting the error codes.

Fatal NI connect error 12170.

VERSION INFORMATION:
TNS for Linux: Version 12.1.0.2.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 12.1.0.2.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 12.1.0.2.0 - Production
Time: 30-SEP-2017 19:46:10
Tracing not turned on.
Tns error struct:
ns main err code: 12535

TNS-12535: TNS:operation timed out
ns secondary err code: 12606
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=XXX.XXX.XXX.XXX)(PORT=50745))
Sat Sep 30 19:46:10 2017
WARNING: inbound connection timed out (ORA-3136)

CHANGES

None

CAUSE

As per per analysis we could see that the client is sending a connect packet and then waiting for the response approximately for 7 minutes and finally getting timed out.

The Oracle Net server trace shows the following:

==============================

[30-SEP-2017 19:45:22:079] nsbasic_bsd: 00 02 03 02 03 00 01 00 |........|
[30-SEP-2017 19:45:22:079] nsbasic_bsd: 00 00 00 |... |
[30-SEP-2017 19:45:22:079] nsbasic_bsd: exit (0)
[30-SEP-2017 19:45:22:079] nsbasic_brc: entry: oln/tot=0
[30-SEP-2017 19:45:22:079] nttfprd: entry
[30-SEP-2017 19:52:32:033] ntt2err: entry =================================> 7 Minute delay. 
[30-SEP-2017 19:52:32:033] ntt2err: exit
[30-SEP-2017 19:52:32:033] nttfprd: exit
[30-SEP-2017 19:52:32:033] nserror: entry
[30-SEP-2017 19:52:32:033] nserror: nsres: id=0, op=68, ns=12535, ns2=12560; nt[0]=505, nt[1]=60, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
[30-SEP-2017 19:52:32:033] nsbasic_brc: exit: oln=0, dln=0, tot=0, rc=-1
[30-SEP-2017 19:52:32:033] nioqrc: wanted 1 got 0, type 0
[30-SEP-2017 19:52:32:033] nioqper: error from nioqrc
[30-SEP-2017 19:52:32:033] nioqper: ns main err code: 12535
[30-SEP-2017 19:52:32:033] nioqper: ns (2) err code: 12560
[30-SEP-2017 19:52:32:033] nioqper: nt main err code: 505
[30-SEP-2017 19:52:32:033] nioqper: nt (2) err code: 60
[30-SEP-2017 19:52:32:033] nioqper: nt OS err code: 0
[30-SEP-2017 19:52:32:033] nioqer: entry
[30-SEP-2017 19:52:32:033] nioqer: incoming err = 12151
[30-SEP-2017 19:52:32:033] nttaddr2bnd: entry
[30-SEP-2017 19:52:32:033] snlinGetNameInfo: entry
[30-SEP-2017 19:52:32:033] snlinGetNameInfo: exit
[30-SEP-2017 19:52:32:033] nttaddr2bnd: Resolved to xxx.yyy.zz.00
[30-SEP-2017 19:52:32:033] nttaddr2bnd: exit
[30-SEP-2017 19:52:32:033] nioqce: entry
[30-SEP-2017 19:52:32:033] nioqce: exit
[30-SEP-2017 19:52:32:033] nioqer: returning err = 3113
 
This was deemed to not be an Oracle*Net issue as the tracing indicates the issue was at the Network  level.

As a test (and only a test - not a recommended solution), set a lower SDU value between Client and Database to reduce packet sizes.
If this works, then there is something at the Network level causing detainment of packets.
The most common cause, is a different MTU setting (again at the Network not Oracle level).

SOLUTION

This specific issue was fixed after the Systems Admin lowered the MTU size.

Network team determined MTU of 1500 (default) was too high, lowered the MTU to 1350 and the application is connecting as expected.

REFERENCES

NOTE:561429.1 - DNS Issue: Connections To Oracle 11g are Slow or Delayed
NOTE:274483.1 - The relation between MTU (Maximum Transmission Unit) and SDU (Session Data Unit)
NOTE:44694.1 - SQL*Net Packet Sizes (SDU & TDU Parameters)
NOTE:1302367.1 - Remote Oracle Net connections hang at Authentication point or end with ORA-3135

TNS-12535/12606 and ORA-3136 on Connection to Database (Doc ID 2313573.1)的更多相关文章

  1. Troubleshooting ORA-12547 TNS: Lost Contact (Doc ID 555565.1)

    Troubleshooting ORA-12547 TNS: Lost Contact (Doc ID 555565.1) This error can occur in following scen ...

  2. 通过dbcp链接池对数据库操作报 Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)--解决方案

    org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for ...

  3. MySQL 8.0版本连接报错:Could not create connection to database server.

    准备搭建一个Spring Boot 组合mybatis的项目,数据库采用的是MySQL 8.0.11按照以往的配置,使用插件mybatis-generator-maven-plugin生成代码时,一直 ...

  4. java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server

    java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not creat ...

  5. jmeter连接mysql数据库报错Cannot create PoolableConnectionFactory (Could not create connection to database server.)

    今天在学习jmeter的jdbc取样器,发现在配置完JDBC Connection Configuration和JDBC Request后,点击运行.在查看结果树中显示响应数据: Cannot cre ...

  6. Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not create connection to database server.

    报错信息:Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQL ...

  7. zabbix启动报错:Connection to database 'xxx' failed解决方法

    Zabbix 分布式系统监视系统 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通 ...

  8. Could not create connection to database server. Attempted reconnect 3 times. Giving up.错误

    项目是基于springboot框架,昨天从git上pull代码之后也没有具体看更改的地方,结果运行的时候就报错了. java.sql.SQLNonTransientConnectionExceptio ...

  9. [08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up IDEA2019的database插件无法链接mysql的解决办法(08001错误)

    [08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up. 点击这里 ...

随机推荐

  1. Python包的导入说明

    import 模块 from 包 import 模块 上面的代码有什么区别呢? from 模块 import * 这种导入想象与把模块里面的代码都复制到当前模块中(也就是该语句所在位置),这时候你可以 ...

  2. 手把手教你如何优雅的使用Aop记录带参数的复杂Web接口日志

    前言 不久前,因为需求的原因,需要实现一个操作日志.几乎每一个接口被调用后,都要记录一条跟这个参数挂钩的特定的日志到数据库.举个例子,就比如禁言操作,日志中需要记录因为什么禁言,被禁言的人的id和各种 ...

  3. Config Server高可用

    一 简介构建高可用的Config Server集群,包括Config Server的高可用,以及依赖Git仓库的高可用. 二 Git仓库的高可用由于配置的内容都存储在Git仓库中,所以要想实现Conf ...

  4. Linux - CentOS 登陆密码找回解决方法

  5. .NET快速信息化系统开发框架 V3.2->Web版本新增“文件管理中心”集上传、下载、文件共享等一身,非常实用的功能

    文件中心是3.2版本开始新增的一个非常实用功能,可以归档自己平时所需要的文件,也可以把文件分享给别人,更像一个知识中心.文件中心主界面如下图所示,左侧“我的网盘”展示了用户对文件的分类,只能自己看到, ...

  6. Web技术的发展 网络发展简介(三)

    在上一篇文章中,对TCP/IP通信协议进行了简单的介绍 通信协议是通信的理论基石,计算机.操作系统以及各种网络设备对通信的支持是计算机网络通信的物质基础 而web服务则是运行于应用层,借助于应用层的协 ...

  7. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(1)- Boot简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的BootROM功能简介. 截止目前为止i.MX RT系列已公布的芯片有三款i.MXRT105x, i. ...

  8. FileStream类操作文件

    private void buttonselect_Click (object sender, EventArgs e)        {            OpenFileDialog ofd ...

  9. Java开发笔记(六十三)双冒号标记的方法引用

    前面介绍了如何自己定义函数式接口,本文接续函数式接口的实现原理,阐述它在数组处理中的实际应用.数组工具Arrays提供了sort方法用于数组元素排序,可是并未提供更丰富的数组加工操作,比如从某个字符串 ...

  10. 多线程(2)Thread

    我们先从最基础的Thread说起. 创建并启动线程 创建并启动一个线程,如下代码: namespace ConsoleApplication17 { class Program { static vo ...