今天遇到一问题 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. Chapter 5 Blood Type——17

    "I'll be coming around with a dropper of water to prepare your cards, so please don't start unt ...

  2. [开发技巧]·TensorFlow中numpy与tensor数据相互转化

    [开发技巧]·TensorFlow中numpy与tensor数据相互转化 个人主页–> https://xiaosongshine.github.io/ - 问题描述 在我们使用TensorFl ...

  3. Mysql语句中当前时间不能直接使用C#中的Date.Now传输

    MySql中处理字符串时间,会默认把第一个数字当成年份处理. 在C#服务器中,使用Date.Now.ToString()生成的字符串时间,如果不指定字符串格式,C#会按照系统语言输出不同的字符串格式, ...

  4. MEF 基础简介 一

    前言 小编菜鸟级别的程序员最近感慨颇多,经历了三五春秋深知程序路途遥远而我沧海一粟看不到的尽头到不了的终点何处是我停留的驿站.说了段废话下面进入正题吧! 什么是MEF? MEF:全称Managed E ...

  5. PHP 中的CURL 模拟表单的post提交

    废话不多说啦,直接上代码: <?php $data = ['username'=>'乔峰','skill'=>'擒龙手']; $headers = array('Content-Ty ...

  6. JAVA-HashMap实现原理

    一.HashMap实现原理 1. HashMap概述 HashMap是基于哈希表的Map接口的非同步实现.它允许存入null值和null键.它不保证存入元素的顺序与操作顺序一致,主要是不保证元素的顺序 ...

  7. bitset中_Find_first()与_Find_next()函数

    bitset中_Find_first()与_Find_next()函数 很有趣但是没怎么有用的两个函数. _Find_fisrt就是找到从低位到高位第一个1的位置 #include<bits/s ...

  8. 跨进程SharedPreferences异常。

    诡异的SharedPreferences异常,在ACC之后,SharedPreferences获取不到值了,但是另一个应用可以获取到值.同样的方法,一个正常一个异常. Context c = null ...

  9. ionic app打包和签名

    ionic app打包和签名 1.首先在项目根目录执行  ionic platform add android  生成Android平台. 2.配置应用签名:在根目录下执行以下命令 keytool - ...

  10. 微信小程序(六) 文章详情静态页面detail

    文章详情静态页面detail: