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: users@tomcat.apache.org
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>  ---------------------------------------------------------------------
>  To start a new topic, e-mail: users@tomcat.apache.org
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
Abhishek

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to