Oracle的TNS-12502錯誤原因及解決方法
錯誤現(xiàn)象:
1、每隔幾分鐘出現(xiàn)一次上面的錯誤,即使在沒有人使用Oracle的情況下也會出現(xiàn)。
2、直到現(xiàn)在也沒有發(fā)現(xiàn)客戶端機器不能正常連接數(shù)據(jù)庫的情況。
錯誤分析:
Oracle關(guān)于TNS-12502錯誤的解釋:
Error: ORA-12502 / TNS-12502
Text: TNS:listener received no CONNECT_DATA from client
Cause: No CONNECT_DATA was passed to the listener.
Action: Check that the service name resolved from TNSNAMES.ORA has the
CONNECT_DATA component of the connect descriptor.
根據(jù)上面的說法分析,只有在TNSNAMES.ORA文件中不包含CONNECT_DATA時會出現(xiàn)此問題。
在我們通過一些網(wǎng)絡(luò)工具或HA工具等檢測監(jiān)聽器端口的時候,日志中就可能會記錄上面的錯誤。以下是一個模擬的示例,在客戶端通過telnet數(shù)據(jù)庫服務(wù)器的1521端口測試連通性:
C:>telnet 172.16.30.11 1521
此時在日志中就會記錄如下信息:
TNS-12502:
TNS:listener received no CONNECT_DATA from client
09-AUG-2006 16:21:03 * 12502
TNS-12502: TNS:listener received no CONNECT_DATA from client
09-AUG-2006 16:21:13 * 12502
TNS-12502: TNS:listener received no CONNECT_DATA from client
09-AUG-2006 16:21:22 * 12502
TNS-12502: TNS:listener received no CONNECT_DATA from client
假如客戶端都很正常的話,此類錯誤可以忽略不計,因為它并不會影響到具體的應(yīng)用。
