您的位置:首页

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

2018-01-13 08:13 711 查看
最近在多个大型系统中遇到此问题,一般来说假设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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐