I would suggest the following may be causing this kind of error:
1. (obvious) IP address is incorrect - try PING <ip>
2. The port is not open, or is blocked by a firewall - try TELNET <ip> <port>
3. The DB listener is not running or is binding to a different network interface - again, TELNET should confirm this (also use Oracle client tools to connect)
4. No local ports are available for the out-going connection (unlikely) - only if you're making thousands of connections, or creating hundreds of new connections every minute.
These are first things I would check, then I'd start looking at the application code (checking drivers, confirming the code is doing what I expect). If you're still stuck after that, you can take a look at how this exception is being thrown - see
http://www.insideexceptions.com/en/jdk-1-5-0/java-sql-SQLException.html and search the page for "ioexception". From you there you can probably trace the problem into the IOException (
http://www.insideexceptions.com/en/jdk-1-5-0/java-io-IOException.html) which is where the real problem seems to be. But if you get to that stage you probably need to be fairly experienced with Java, etc. Usually this kind of error is one of the obvious things listed above.
If you still have problems, I suggest posting the entire exception message here.