Oracle10g的ORA-3136错误
今天在ALERT文件中发现下面的警告信息:WARNING: inbound connection timed out (ORA-3136)。
在metalink上查询了一下,发现这个错误在10g当中是很常见的。Metalink上有专门的bug和note对这个问题进行了说明。不过Oracle虽然给出了解决方案,但是并没有详细说明问题产生的原因。只是说明这是一个内部错误。
Oracle给出的解决方法就是通过修改listener.ora和sqlnet.ora中的这个参数值:
1.在listener.ora中添加INBOUND_CONNECT_TIMEOUT_listener_name=0
2.在服务器上的sqlnet.ora文件中添加SQLNET.INBOUND_CONNECT_TIMEOUT=0
3.重启监听
INBOUND_CONNECT_TIMEOUT参数是客户端向服务器建立连接并完成必要的证明。这个值默认是60秒的时间。
Oracle虽然没有说明问题产生的原因,但是从解决方法上可以看到,Oracle采用的方法是禁止INBOUND_CONNECT_TIMEOUT参数。根据Oracle的文档,不设置这个参数可能会引入安全隐患。
如果在alert日志中,偶然见到这个错误,可以不必理会,如果发生频繁的话,考虑使用上面描述的方法进行解决。
就是这个问题
今天在ALERT文件中发现下面的警告信息:WARNING: inbound connection timed out (ORA-3136)。
在metalink上查询了一下,发现这个错误在10g当中是很常见的。Metalink上有专门的bug和note对这个问题进行了说明。不过Oracle虽然给出了解决方案,但是并没有详细说明问题产生的原因。只是说明这是一个内部错误。
Oracle给出的解决方法就是通过修改listener.ora和sqlnet.ora中的这个参数值:
1.在listener.ora中添加INBOUND_CONNECT_TIMEOUT_listener_name=0
2.在服务器上的sqlnet.ora文件中添加SQLNET.INBOUND_CONNECT_TIMEOUT=0
3.重启监听
INBOUND_CONNECT_TIMEOUT参数是客户端向服务器建立连接并完成必要的证明。这个值默认是60秒的时间。
Oracle虽然没有说明问题产生的原因,但是从解决方法上可以看到,Oracle采用的方法是禁止INBOUND_CONNECT_TIMEOUT参数。根据Oracle的文档,不设置这个参数可能会引入安全隐患。
如果在alert日志中,偶然见到这个错误,可以不必理会,如果发生频繁的话,考虑使用上面描述的方法进行解决。
就是这个问题