今天周六,上午8-12点进行数据库拆分,拆分完成后部分应用程序出现连接错误,查看grid下的日志文件发现如下内容:
TNS-01153: Failed to process string: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.1.82)(PORT=1521))(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))null))
NL-00303: syntax error in NV string
查阅资料如下:
Jdbc Connection Issues Having The TNS-1153 Error In The Listener Log [ID 1364680.1]
In this Document
Symptoms
Cause
Solution
________________________________________
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
Applies to:
JDBC - Version: 11.2.0.2 and later [Release: 11.2 and later ]
Information in this document applies to any platform.
Symptoms
On : 11.2.0.2 version, JDBC for Java
When attempting to connect from a java program using the JBC Driver 11.2.0.2,
the following error occurs.
ERROR
-----------------------
In the application side:
Exception java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(ERR=1153)(VSNNUM=186647040)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.201.60.115)(PORT=1521))(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))null))'))(ERROR=(CODE=303)(EMFI=1))))
Exception java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(ERR=1153)(VSNNUM=186647040)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.201.60.115)(PORT=1521))(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))null))'))(ERROR=(CODE=303)(EMFI=1))))
Exception java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(ERR=1153)(VSNNUM=186647040)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.201.60.115)(PORT=1521))(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))null))'))(ERROR=(CODE=303)(EMFI=1))))
In the listener log file:
14-SEP-2011 16:25:21 * 1153
TNS-01153: Failed to process string: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.201.60.115)(PORT=1521))(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))null))
NL-00303: syntax error in NV string
Cause
The problem was caused by the inclusion of multiple JDBC jar files in the classpath.
In this case it was included the classes12.jar and the ojdbc6.jar. These two jar files were from different version and this was causing the issue.
Solution
As the problem was caused by the inclusion of multiple JDBC jar files in the classpath.
It was taken out the classes12.jar file from the classpath and this fixed the issue.
看来这个问题是由于jdbc驱动和11g scan ip引起的,由于应用程序很大一部分是cs结构,更新JDBC工作量太大,只好放弃scanip,使用private ip
修改连接信息后,程序一切正常