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. EXCEL生成SQL脚本

    有如下一张数据库表: 当然,Excel也是这个样子的,然后需要通过Excel的命令实现如下的脚本: insert into student(name,age) values('张三',15); 实现的 ...

  2. Apache配置优化之开启KeepAlive

    在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求.从而避 ...

  3. (五)Centos之目录处理命令

    一.目录处理命令 linux中 关于目录 有几个重要概念:一个是 / 根目录  还有一个当前用户的家目录 比如 root用户的家目录是 /root  ,普通用户的家目录是/home/xxx 下,如下图 ...

  4. mysql命令、mysqldump命令找不到解决

    1.解决bash: mysql: command not found 的方法 [root@DB-02 ~]# mysql -u root -bash: mysql: command not found ...

  5. 编写高质量iOS代码与OS X代码的effective方法(小结)

    一.熟悉OC: 了解OC的起源: OC和C++,Java等面向对象语言类似,不过有很方面差别.因为该语言使用  消息结构而非函数调用. 消息结构和函数调用的区别:前者是在其运行时所应执行的代码由运行环 ...

  6. Docker storage driver(十四)

    目录 一.storage driver 作用 1.Images and layers 2.Container and layers Copy-on-Write 3.Data volumes and t ...

  7. Introduction - What is machine learning

    摘要: 本文是吴恩达 (Andrew Ng)老师<机器学习>课程,第一章<绪论:初识机器学习>中第2课时<什么是机器学习?>的视频原文字幕.为本人在视频学习过程中逐 ...

  8. Homebrew介绍和使用

    一.Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径 ...

  9. word模板文档填充数据

    1.切记一定要用Word 97-2003(*.doc)格式的文档另存为 *.xml格式的文件,而不能用 Word 2007(*.docx)格式的word文档转 *.xml,将转成功之后的xml文件放入 ...

  10. MySQL的数据库时间与电脑系统时间不一致

    问题描述 在开发的过程中遇到数据库的时间与电脑本身的系统时间不一致的状态. 首先查看数据库的时间是多少 select now(); select sysdate(); 执行上面的两个sql语句,看数据 ...