The immediate cause of the problem is that the JDBC driver has attempted to read from a network Socket that has been closed by “the other end”.
This could be due to a few things:
-
If the remote server has been configured (e.g. in the “SQLNET.ora” file) to not accept connections from your IP.
-
If the JDBC url is incorrect, you could be attempting to connect to something that isn’t a database.
-
If there are too many open connections to the database service, it could refuse new connections.
Given the symptoms, I think the “too many connections” scenario is the most likely. That suggests that your application is leaking connections; i.e. creating connections and then failing to (always) close them.