Alert 日志报错:
Wed May 22 18:02:47 2019
***********************************************************************
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: 22-MAY-2019 18:02:47
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=10.171.32.9)(PORT=44186))
WARNING: inbound connection timed out (ORA-3136)

处理方案

文档 ID 2331569.1

引入此超时限制是为了抵御恶意客户端尝试使用无效证书的连接请求来攻击数据库服务器的情形。

以下是这个错误的最可能的原因

1.通常该错误抛出都是由于客户端或者应用尝试使用了错误的userid或者密码来连接。参考下面的文档:  Note: 793259.1 ORA-1017 May Cause ORA-3136 WARNING : Inbound Connection Timed Out in Alert Log

2.服务器收到有效的客户端连接请求,但客户端需要很长时间才能进行超过默认60秒的身份验证。

3.数据库服务器负载很重,因此无法在指定的超时时间内完成客户端登录。

要了解是什么导致了这个问题,可以做下面的检查

在大多数情况下,数据库服务器可以在默认值60秒内完成客户端连接的认证。如果需要更长的时间,则在实施变通方法之前,请检查以下项目

1.检查数据库服务器上的本地连接是否可以很快完成。

2.如果本地连接速度很快,请在网络管理员的帮助下检查底层网络延迟。

3.检查你的数据库性能是否有问题。

4.检查警报日志中是否有关于 ORA-600 或 ORA-7445 的严重错误,并首先解决它们。这些严重错误可能会引发数据库服务器的缓慢。

使用下面指导步骤来设置这些参数的值使其高于默认的60秒

修改$RDBMS/network/admin/sqlnet.ora 文件(不是GIHome)

添加:

SQLNET.INBOUND_CONNECT_TIMEOUT = 120 

不需要重启监听。

通过检查监听trace 确认是否生效。

lsnrctl trace support    --启用trace
lsnrctl trace off       --关闭trace
niotns: Enabling CTO, value=120000 (milliseconds) <== 120 seconds
niotns: Not enabling dead connection detection.
niotns: listener bequeathed shadow coming to life...

我的方法

我的数据库为 11.2.0.4.0 单机,经测试以上方法没生效。自己整理处理方法如下:

1.优化SQL 降低压力

2.修改inbound_connect_timeout=120

操作

执行以下操作,不需要重启监听

lsnrctl set inbound_connect_timeout 120
lsnrctl save_config 参数保存到了listener.ora

检查是否生效

打开监听trace
lsnrctl trace support
cat /u01/app/oracle/diag/tnslsnr/oracle/listener/trace/ora_xxx.trc | grep mill
2019-05-23 15:56:52.729683 : nstoSetupTimeout:ATO enabled for ctx=0x0x14c3850, val=60000(millisecs)
2019-05-23 15:56:52.732543 : nstoSetupTimeout:ATO enabled for ctx=0x0x14c3850, val=60000(millisecs) --修改120前,默认60s
2019-05-23 15:58:26.076381 : nstoSetupTimeout:ATO enabled for ctx=0x0x14c6c20, val=120000(millisecs)   --修改为120后
2019-05-23 15:58:26.079273 : nstoSetupTimeout:ATO enabled for ctx=0x0x14c6c20, val=120000(millisecs)

确认成功关闭trace

lsnrctl trace off

回滚操作

如果需要修改回60,执行:

lsnrctl set inbound_connect_timeout 60
lsnrctl save_config

悲剧

悲剧的是仍然不能解决问题,哈哈!

关闭监听ADR

参考:https://www.cndba.cn/dave/article/1942  

vi $RDBMS/network/admin/listener.ora
DIAG_ADR_ENABLED_LISTENER=OFF
INBOUND_CONNECT_TIMEOUT_LISTENER=180 #如果listener名字为LISTENER2,修改为DIAG_ADR_ENABLED_LISTENER2 vi $ORACLE_HOME/network/admin/sqlnet.ora
DIAG_ADR_ENABLED=OFF
SQLNET.INBOUND_CONNECT_TIMEOUT=180

重启监听

lsnrctl stop;lsnrctl start

ORA-3136 问题处理的更多相关文章

  1. ORA-12541:TNS:no listener 客户端tnsnames.ora配置,以及服务端listener.ora配置

    需求:客户端(192.168.25.1)需要访问服务端(192.168.7.215)的Oracle库ORCL. 步骤一:配置客户端tnsnames.ora 步骤二:配置服务端listener.ora ...

  2. Oracle的tnsnames.ora配置(PLSQL Developer)

    首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...

  3. Oracle RAC客户端tnsnames.ora相关配置及测试

    1.Oracle RAC服务端/etc/hosts部分内容如下 2.查看服务端的local_listener和remote_listener参数 3.客户端tnsnames.ora配置参考 3.1 1 ...

  4. oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

    总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...

  5. oracle客户端安装配置 tnsnames.ora文件

    Oracle客户端tnsnames.ora连接配置 Oracle90的在C:\Oracle\ora90\network\ADMIN下面 Oracel10g的在D:\oracle\product\10. ...

  6. 修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法

    1.tnsnames.ora文件中配置内容中的连接别名:由upaydb修改为IP地址 2.连接超时 定位原因: PLSQL登录界面的数据库列表就是读的tnsname.ora中连接的别名,这个文件中连接 ...

  7. 安装了多个Oracle11g的客户端,哪个客户端的tnsnames.ora会起作用?

    如果我们由于需要安装了多个Oracle的client,哪个客户端的tnsnames.ora会起作用呢? 答案是: 在安装好clinent端后,安装程序会把client的bin目录放到path里面,pa ...

  8. PLSQL登录数据库 报ORA -12154的诡异问题

    https://q.cnblogs.com/q/89420/ 现象: 1.机器上先后安装了oracle两个版本的client.在装第一个client后,plsql可以顺利连接数据库a并登录. 2.安装 ...

  9. tnsnames.ora配置注意(连接新的数据库)

    文件地址D:\app\think\product\11.2.0\instantclient_11_2\network\admin\tnsnames.ora# tnsnames.ora Network ...

  10. listener.ora/sqlnet.ora/tnsnames.ora配置文件详解

    oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...

随机推荐

  1. PAT 甲级 1036 Boys vs Girls (25 分)(简单题)

    1036 Boys vs Girls (25 分)   This time you are asked to tell the difference between the lowest grade ...

  2. LeetCode_35. Search Insert Position

    35. Search Insert Position Easy Given a sorted array and a target value, return the index if the tar ...

  3. JS读取本地文件及目录的方法

    Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级 的功能吧?比如,对文件和文件夹进行读.写和删除,就象在VB.VC等 ...

  4. mysql修改时区的几种方法

    说明: 以下记录修改mysql时区的几种方法. 具体:方法一:通过mysql命令行模式下动态修改1.1 查看mysql当前时间,当前时区 > select curtime(); #或select ...

  5. 【ARTS】01_32_左耳听风-201900617~201900623

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  6. talking data 集成

    talking data 集成需要手动添加libz.td

  7. .git泄露及利用php弱类型松散比较构造json的payload

    一道ctf题,文章搬运到了自己的网站上: http://101.132.137.140:202/archives/2019-11-16

  8. 【数据库开发】is not allowed to connect to this MySQL server解决办法

    ERROR 1130: Host '192.168.1.3′ is not allowed to connect to this MySQL server这是告诉你没有权限连接指定IP的主机,下面我们 ...

  9. centos 防火墙相关命令

    防火墙关闭: systemctl stop firewalld systemctl disable firewalld 重启防火墙: systemctl enable firewalld system ...

  10. react生成二维码

    图片实例: 简介: QRCode.js 是一个生成二维码的JS库.主要是通过获取 DOM 的节点,再通过 HTML5 Canvas 绘制而成,不依赖任何库. 用法: 1. 在项目中引入qrcode.m ...