suresh_bansal
asked on
Proesses Limit andOpen Cursors Limit in Oracle 10g in Windows 32 Bit
We have developed business application software using Oracle 10g as the back end and VB as the front end.
When Oracle 10g is installed on Windows 2003 server, it has by default 300 Open Cursors and 150 Processes. There are approx 50-100 simultaneous users working on our software at the Client end.
Problem
Software works fully OK for days and months togather. Rarely we get that limit of Processess is exhausted and then it does not allow users to connect where as the number of users at that time may be even smaller than previously. In that case we need to shutdown the Oracle Server and Startup again. The problem gets solved.
Solution is required to permanenlty fix the the problem. Shutting down the Oracle Database and running again is not the soltution.
Regards
Suresh Bansal
Noida -UP -India
When Oracle 10g is installed on Windows 2003 server, it has by default 300 Open Cursors and 150 Processes. There are approx 50-100 simultaneous users working on our software at the Client end.
Problem
Software works fully OK for days and months togather. Rarely we get that limit of Processess is exhausted and then it does not allow users to connect where as the number of users at that time may be even smaller than previously. In that case we need to shutdown the Oracle Server and Startup again. The problem gets solved.
Solution is required to permanenlty fix the the problem. Shutting down the Oracle Database and running again is not the soltution.
Regards
Suresh Bansal
Noida -UP -India
Here is my script:
set heading off;
set echo off;
set pages 1000;
set lines 200;
set feedback off;
connect sys@test as sysdba
prompt Finding dead sessions (DEV, TEST, and QA).
spool kill.sql
select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;'
from v$session
where seconds_in_wait > 10800 and username in ('DEV', 'TEST', 'QA' );
spool off;
prompt Killing sessions (DEV, TEST, and QA) that have been idle for more than 3 hours.
@@kill
prompt Done.
ASKER
The solution seems to work. But casn you advise me on following
a) We run Oracle 10g in the Windows 2003 Server
b) By default processess at the time of install is 150 and open cursors = 300 by default. Whether we should increase this default and what needs to be the criteria /basis for that.
c) What and how these cursors /processes get used.
d) How to run the script in windows scheduler automatically as this may not be advisable to run it manually at the server periodically
suresh bansal
a) We run Oracle 10g in the Windows 2003 Server
b) By default processess at the time of install is 150 and open cursors = 300 by default. Whether we should increase this default and what needs to be the criteria /basis for that.
c) What and how these cursors /processes get used.
d) How to run the script in windows scheduler automatically as this may not be advisable to run it manually at the server periodically
suresh bansal
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks for the reply & regards
Suresh Bansal
Suresh Bansal
With our VB app, cursors are opened and closed whenever you move to other pages, but the database sometimes gets disconnected and thinks it still needs to keep the connection open. I have a script that runs periodically that kills sessions that has been idle for over 60 minutes.... in a typical web application system with database back end, you shouldn't have any connections active for more than a minute or so...
My "idle kill" script just runs from time to time and it keeps the resources freed... not an elegant solution, but it seems to work for us.