thanks Mr Barry for the reply,
In the whole application we are using type one driver i.e. jdbc odbc driver
Driver Class :sun.jdbc.odbc.JdbcOdbcDriver
But can u tell me what could be the reason for the number of processes
exceeded in the oracle..
when the user logged into the application 5 connection objects are
created, performed database operations and once it is done connection
is closed.
I have checked there is no connection leakage problem..
I have wrote a class with synchronized static method which returns the
connection.
Iam using that connection where ever i needed and closing connection
there iself.
I have also checked whether the opened connection are closed or not,
they are closed perfectly.
Can you tell me how do i solve this problem?
i will be happy if u send me the oracle thin driver..
On Wed, Feb 27, 2008 at 4:46 AM, Propes, Barry L
<[EMAIL PROTECTED]> wrote:
> YIKES!!! I see something that I think is the problem....at least it caused me
> ample problems and I was totally tarred and feathered on the Sun Java forum
> for doing.
>
> Are you using that driver you show?
>
>
> driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
>
> or is that just the example that you peeled off and showed to us?
>
> That will cause numerous problems. That driver is awful and not meant for
> DBCP.
>
> Do you have the Oracle thin client driver? If not, I'll send to you offline.
> Let me know if you need it.
>
> In fact, in one of my servlets I specifically commented out that
> sun.jdbc.odbc ...driver and told myself to never use that again!
>
> actually not that harsh, but here were the comments I found:
> ===================================
>
> try {
> //changed from Oracle driver, orig. Sun driver, to DBCP, 2-22-2007-BP
> /*
> Class.forName("oracle.jdbc.driver.OracleDriver");
> String dbURL = "jdbc:oracle:thin:@192.168.XX.XXX:1521:SID";
> String usernm = "user_name";
> String pwd = "user_pass";
> connection = DriverManager.getConnection(dbURL, usernm,
> pwd);
> */
> Context initCtx = new InitialContext();
> Context envCtx = (Context) initCtx.lookup("java:comp/env");
> // Look up our data source
> DataSource ds = (DataSource)
> envCtx.lookup("jdbc/myoracle");
> // Allocate and use a connection from the pool
> Connection connection = ds.getConnection();
>
> //SQL info and set property statements
> //will go below here
>
> ==================================
>
> Try this for starters.
>
>
> Now, I'm using 4.1.31 still, but you'll get the idea I think. I have to
> separate my param tags, rather than cramming them all into one tag,like you
> likely can do.
>
> <Resource name="jdbc/myoracle" auth="Container"
> type="javax.sql.DataSource"/>
>
> <ResourceParams name="jdbc/myoracle">
> <parameter>
> <name>factory</name>
> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
> </parameter>
> <parameter>
> <name>driverClassName</name>
> <value>oracle.jdbc.OracleDriver</value>
> </parameter>
> <parameter>
> <name>url</name>
> <value>jdbc:oracle:thin:@192.168.XX.XXX:1521:SID</value>
> </parameter>
> <parameter>
> <name>username</name>
> <value>user_name</value>
> </parameter>
> <parameter>
> <name>password</name>
> <value>user_pass</value>
> </parameter>
> <parameter>
> <name>maxActive</name>
> <value>125</value>
> </parameter>
> <parameter>
> <name>maxIdle</name>
> <value>15</value>
> </parameter>
> <parameter>
> <name>maxWait</name>
> <value>7000</value>
> </parameter>
> <parameter>
> <name>removeAbandoned</name>
> <value>true</value>
> </parameter>
> <parameter>
> <name>removeAbandonedTimeout</name>
> <value>60</value>
> </parameter>
> <parameter>
> <name>logAbandoned</name>
> <value>true</value>
> </parameter>
>
> <parameter>
> <name>minEvictableIdleTimeMillis</name>
> <value>5000</value>
> </parameter>
> <parameter>
> <name>timeBetweenEvictionRunsMillis</name>
> <value>10000</value>
> </parameter>
> <parameter>
> <name>testWhileIdle</name>
> <value>true</value>
> </parameter>
>
> </ResourceParams>
>
>
>
> -----Original Message-----
> From: Adam Gordon [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, February 26, 2008 4:49 PM
> To: Tomcat Users List
> Subject: Re: Connection Pooling
>
>
> Hi, I think you may be confusing the number of allowable processes with
> the number of allowable threads.
>
> Per Tomcat's documentation, maxActive refers to the maximum number of DB
> connections whereas the Oracle error you are seeing refers to the
> maximum number of processes (threads?) which are not necessarily
> connections. It's been too many years since I've worked with Oracle,
> let alone 9i, so I can't point you where to look in your config files,
> but I suspect that's where the problem may be.
>
> As an aside, the solution is probably not to just up the number of
> processes but to determine why Oracle is generating so many (if 150 is
> indeed considered "many.").
>
> Hope this helps.
>
> --adam
>
> abhishek reddy wrote:
> > Here are the pool configuration details in context.xml file.........
> >
> > <Resource
> > name="jdbc/pool"
> > auth="Container"
> > type="javax.sql.DataSource"
> > username="scott"
> > password="tiger"
> > driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
> > url="jdbc:odbc:pool"
> > maxWait="60000"
> > removeAbandoned="true"
> > maxActive="130"
> > maxIdle="50"
> > removeAbandonedTimeout="300"
> > logAbandoned="true"
> > />
> >
> > software:
> > database : oracle 9i
> > server: tomcat 5.5
> >
> > iam getting the following error:
> >
> > java.sql.SQLException: [Oracle][ODBC][Ora]ORA-00020: maximum number
> > of processes (150) exceeded.
> >
> > I have set the maxActive to 130 then how will the number of processes
> > exceeds 150?
> >
> > tell me when will the maximum number of processes (150) exceeded in
> > the oracle and how do i solve the problem?
> >
> > I have checked the application 5 to 10 times and there is no
> > connection leakage problem.
> >
> > the application is under going performance testing.....with around
> > 200 users at a time, for the first time it worked perfeclty, next time
> > the
> > above mentioned error is comming..
> >
> > i need your help in solving this problem..
> >
> >
> >
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: [email protected]
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: [email protected]
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Abhishek
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]