文章出處:http://blog.itpub.net/4227/viewspace-69161/
今天在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日誌中,偶然見到這個錯誤,可以不必理會,如果發生頻繁的話,考慮使用上面描述的方法進行解決。