今天遇到一问题 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. [工具向]__关于androidstudio工具使用过程中学习到的一些知识点简记

    前言 在我学习android开发课程的过程中,我们通常只会关注编程语言上面的一些知识点与问题,而忽略了开发工具的使用上的一些遇到的一些知识,其实每一款IDE工具都是集编程语言大成而开发出来的,其中有很 ...

  2. SQLServer安装和JDBC连接SQLServer

    SQLServer 安装 参考链接: http://blog.csdn.net/sangjinchao/article/details/62044021?locationNum=6&fps=1 ...

  3. Java开发知识之Java的继承多态跟接口*

    Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...

  4. Java递归读取文件路径下所有文件名称并保存为Txt文档

    本文用递归的方法实现读取一个路径下面的所有文件并将文件名称保存到Txt文件中,亲测可用. 递归读取文件路径下的所有文件: /** * 递归读取文件路径下的所有文件 * * @param path * ...

  5. C# 以管理员权限删除文件

    前言 通过后台,想删除C盘下”C:\\Windows\\winsxs\\Backup“的缓存文件. 然后提示对路径“C:\\Windows\\winsxs\\Backup\\amd64_hid-use ...

  6. unix时间转换为datetime\datetime转换为unixtime

    /// <summary> /// unix时间转换为datetime /// </summary> /// <param name="timeStamp&qu ...

  7. JVM难学?那是因为你没认真看完这篇文章

    一:虚拟机内存图解 JAVA程序运行与虚拟机之上,运行时需要内存空间.虚拟机执行JAVA程序的过程中会把它管理的内存划分为不同的数据区域方便管理. 虚拟机管理内存数据区域划分如下图: 数据区域分类: ...

  8. ASP.NET Core介绍

    认识ASP.NET Core ASP.NET Core是一个跨平台,高性能,开源的框架,用于构建现代,基于云的网络应用程序,使用ASP.NET Core可以实现: 开发web应用,服务,IoT应用和移 ...

  9. 由AbstractQueuedSynchronizer和ReentrantLock来看模版方法模式

    在学完volatile和CAS之后,近几天在撸AbstractQueuedSynchronizer(AQS)的源代码,很多并发工具都是基于AQS来实现的,这也是并发专家Doug Lea的初衷,通过写一 ...

  10. 【20190405】JavaScript-正则式匹配与替换结果解析

    在正则式的应用中有三个函数使用得最多:exec().test()与字符串的replace(reg, options).其中test()最简单,只要字符串与正则式可以匹配,就返回true,否则返回fal ...