ORA-3136 问题处理
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=OFFINBOUND_CONNECT_TIMEOUT_LISTENER=180 #如果listener名字为LISTENER2,修改为DIAG_ADR_ENABLED_LISTENER2 vi $ORACLE_HOME/network/admin/sqlnet.oraDIAG_ADR_ENABLED=OFFSQLNET.INBOUND_CONNECT_TIMEOUT=180
重启监听
lsnrctl stop;lsnrctl start
ORA-3136 问题处理的更多相关文章
- ORA-12541:TNS:no listener 客户端tnsnames.ora配置,以及服务端listener.ora配置
需求:客户端(192.168.25.1)需要访问服务端(192.168.7.215)的Oracle库ORCL. 步骤一:配置客户端tnsnames.ora 步骤二:配置服务端listener.ora ...
- Oracle的tnsnames.ora配置(PLSQL Developer)
首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...
- Oracle RAC客户端tnsnames.ora相关配置及测试
1.Oracle RAC服务端/etc/hosts部分内容如下 2.查看服务端的local_listener和remote_listener参数 3.客户端tnsnames.ora配置参考 3.1 1 ...
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...
- oracle客户端安装配置 tnsnames.ora文件
Oracle客户端tnsnames.ora连接配置 Oracle90的在C:\Oracle\ora90\network\ADMIN下面 Oracel10g的在D:\oracle\product\10. ...
- 修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法
1.tnsnames.ora文件中配置内容中的连接别名:由upaydb修改为IP地址 2.连接超时 定位原因: PLSQL登录界面的数据库列表就是读的tnsname.ora中连接的别名,这个文件中连接 ...
- 安装了多个Oracle11g的客户端,哪个客户端的tnsnames.ora会起作用?
如果我们由于需要安装了多个Oracle的client,哪个客户端的tnsnames.ora会起作用呢? 答案是: 在安装好clinent端后,安装程序会把client的bin目录放到path里面,pa ...
- PLSQL登录数据库 报ORA -12154的诡异问题
https://q.cnblogs.com/q/89420/ 现象: 1.机器上先后安装了oracle两个版本的client.在装第一个client后,plsql可以顺利连接数据库a并登录. 2.安装 ...
- tnsnames.ora配置注意(连接新的数据库)
文件地址D:\app\think\product\11.2.0\instantclient_11_2\network\admin\tnsnames.ora# tnsnames.ora Network ...
- listener.ora/sqlnet.ora/tnsnames.ora配置文件详解
oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...
随机推荐
- Jenkins加入systemctl管理
Jenkins安装目录为 /usr/local/jenkins-tomcat/ 添加文档 /usr/lib/systemd/system/jenkins.service [Unit] Descript ...
- Docker安装LogonTracer
LogonTracer LogonTracer:是一款用于可视化分析Windows安全事件日志寻找恶意登录的工具.它会将登录相关事件中找到的主机名(或IP地址)和帐户名称关联起来,并将其以图形化的方式 ...
- oracle数据库数据转储最好方式(数据库表、数据结构和数据一并导出)
导入:使用plsql:Tools --> Import Tables --> SQL Inserts 得到的为sql文件,在转储的过程中当导入另一个库的时候老是报 “表或视图不存在” ...
- 用BERT做语义相似度匹配任务:计算相似度的方式
1. 自然地使用[CLS] 2. cosine similairity 3. 长短文本的区别 4. sentence/word embedding 5. siamese network 方式 1. 自 ...
- Jmeter做HTTP接口测试
接口测试概述:https://www.cnblogs.com/mawenqiangios/p/7886115.html Jmeter接口测试教程:https://www.cnblogs.com/hou ...
- insert 一条数据 然后拿出这条数据在数据库中生成的ID
[insert 一条数据 然后拿出这条数据在数据库中生成的ID] <insert id="insert" parameterType="management&quo ...
- spring cloud中代理服务器zuul的使用
spring cloud中代理服务器zuul的使用 主流网关: zuul kong 基于nginx的API Gateway nginx+lua 1.新建项目,选择eureka ...
- Python标准库之sched模块介绍
sched——通用时间调度器 sched模块实现了一个通用事件调度器,在调度器类使用一个延迟函数等待特定的时间,执行任务.同时支持多线程应用程序,在每个任务执行后会立刻调用延时函数,以确保其他线程也能 ...
- SAS学习笔记29 logistic回归
变量筛选 当对多个自变量建立logistic回归模型时,并不是每一个自变量对模型都有贡献.通常我们希望所建立的模型将具有统计学意义的自变量都包含在内,而将没有统计学意义的自变量排除在外,即进行变量筛选 ...
- CSS之cursor用法
cursor: url('~ROOT/shared/assets/image/vn-text-cursor-31-49.png') 22 22, nw-resize; 另外还有一个 cursor: g ...