I have oracle XE installed on a Linux Machine.
My Java Modules have been communicating with Oracle frequently and everything seemed to work fine.
When one day, out of the blue i started receiving this error:
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12519,
TNS:no appropriate service handler found
The Connection descriptor used by the client was: localhost:1521:XE
After days of Googling, i finally found the answer.
The problem was related to the number of Connections.
suprisingly it seemed that my Java processes were consuming too much connections. (please note no lose cursors). The solution was that i had to increase the number of processes.
While the default number of processes correspond to 40, increase it upto 100, 200 or whatever your requirement is.
Here is how you do it:
Log into sqlplus (as user oracle):
>>sqlplus / as sysdba
This will log you on to the XE database as the sys user.
Type the following:
>>create pfile from spfile;
This will create a pfile callex initXE.ora in the following location:
OracleXEHome/server/dbs
Note: on windows oraclexehome will be
C:\oraclexe\app\oracle\product\10.2.0\server\database
Edit this file and add the following line at the bottom:
>>*.processes=100
This value may need to be increased depending on how many users you wish to connect to the database.
After you have done this, shutdown the database from the sqlprompt>
>>shutdown immediate;
We then need to create the spfile from the pfile we just edited.
Linux:
create spfile from pfile='$ORACLE_HOME\server\dbs\initXE.ora';
Windows:
>>create spfile from pfile='C:\oraclexe\app\oracle\product\10.2.0\server\database\initXE.ora';
and now we start the database up.
startup
type the following at the sqlprompt>
select value from v$parameter
where name = 'processes'
This would show the processes that you just changed.
Friday, January 18, 2008
Subscribe to:
Posts (Atom)
