java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869824)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=125
05)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3678)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:352)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:365)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:547)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:347)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
... 24 more
一遇到这个异常是比较惊讶的,因为查看文件的修改时间是4天前的。那天早上还正常呢。很奇怪的是在plussql的TNS中弄个两个IP和两个实例分别测试都可以正常访问人家的测试库。 但我们的应用服务和我本机环境只能通过一个IP和一个实例访问。由于人家测试库也是由客户管理的,感觉是比较恶心的。只晓得出现这个问题前,人家的数据库宕机了,重启后,连接池就一直报异常,继而就定位到那个异常了。无意间改改SERVERNAME, 或着IP地址就把问题解决了。估摸着是客户动了数据库服务器的配置了。