ALERT日志中常见监听相关报错之二:ORA-3136错误的排查

最近在多个大型系统中遇到此问题,一般来说假设client未反映异常的话能够忽略的。


假设是client登陆时遇到ORA-12170: TNS:Connect timeout occurred,能够參考 http://blog.csdn.net/haibusuanyun/article/details/14517211#t12
###############
參考MOS文档有:
Troubleshooting Guide for TNS-12535 or ORA-12535 or ORA-12170 Errors (文档 ID 119706.1)
Troubleshooting Guide ORA-609 : Opiodr aborting process unknown ospid (文档 ID 1121357.1)
Troubleshooting Guide ORA-3136: WARNING Inbound Connection Timed Out (文档 ID 465043.1)

Alert.log shows ORA-609 with TNS-12537: TNS:connection closed (文档 ID 1538717.1)
11g: ORA-609 TNS-12537 and TNS-12547 or TNS-12170 in 11g Alert.log (文档 ID 1116960.1)
Fatal NI Connect Error 12170, 'TNS-12535: TNS:operation timed out' Reported in 11g Alert Log (文档 ID 1286376.1)
Alert Log Errors: 12170 TNS-12535/TNS-00505: Operation Timed Out (文档 ID 1628949.1)
---------
对这些问题进行分类。大致例如以下:

------
ORA-3136: WARNING Inbound Connection Timed Out错误的排查步骤:


此错误是由于client无法在SQLNET.INBOUND_CONNECT_TIMEOUT.指定时间内完毕用户验证
此时也可能有ORA-12170 or TNS-12535 in the sqlnet.log。同一时候包括client相关信息。
10.2.0.1開始SQLNET.INBOUND_CONNECT_TIMEOUT默认是 60 seconds。假设client不能在60秒内完毕登陆认证,client连接被中止同一时候ALERT有此报错。
----这主要是为防止DoS攻击。




此错误可能原由于:
1.DoS攻击。大量恶意连接,此时报错并终止client连接是正确的。
2.正常连接。可是未在SQLNET.INBOUND_CONNECT_TIMEOUT值=60秒内完毕登陆验证。
3.数据库server负载高,相似HANG住。


排查方法:
1.本地连接数据库,測试是否HANG住
2.DB是否有600/7445等内部错误导致此问题
3.网络问题

解决:
建议是sqlnet.ora--DATABASE值大于listener.ora--LISTENER.
比如:
sqlnet.ora
SQLNET.INBOUND_CONNECT_TIMEOUT = 120

listener.ora
INBOUND_CONNECT_TIMEOUT_LISTENER = 110  

验证:
LSNRCTL>show inbound_connect_timeout


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值