Skip to content
Advertisement

Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found

I work with Spring and Hibernate and I used Oracle 11g as database and I used JBoss 5.

I have a problem to re-establish the connection automatically

I used c3p0-0.9.1.1.jar

This my config in my application :

JavaScript

But I have this error :

JavaScript

my application works correctly using the previous database configuration but my problem is that the error appeared when I have many connection to my application ( more than 200 users ) that why I used connection pool .

and when I have this error in the server oracle service works correctly since I can directly execute the query in the database. juste the problem is between the connection of my application which are deployed in jboss and oracle

in _BaseRootDAO.java I have this method :

JavaScript

update :

this is the current settings in the Oracle database

JavaScript

I try to use the last version of c3p0

c3p0-0.9.5.2.jar insted of c3p0-0.9.1.1.jar

Advertisement

Answer

My use case:
I was running parallel connections to the DB(Oracle 12c) – 1 instance – to test if i get different sequence values from a sequence. As the parallel connections increase, there was a point where i got "ORA-12519, TNS:no appropriate service handler found"

What worked:

1.The processes limit_value was being hit. I increased it.

JavaScript

Increase XXX incrementally(like +200 or so), because if you increase it to a too high value in 1 go, you might not be able to start your Oracle instance, as it cannot support it(READ: memory limitation, operating system limitation, …)

  1. commit;
  2. Restart DB.
    (IMPORTANT: Do not forget to restart the DB, to make the change effective in the spfile. For both static and dynamic parameters, changes are recorded in the spfile, and will only take effect in the next restart.)
  3. Verify my change(limit_value):
JavaScript

NOTE: You might notice that the sessions parameters will also change. This is because sessions and processes work hand-in-hand, and Oracle will re-compute the sessions limit_value based on the chosen processes limit_value.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement