Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: OPEN_CURSORS-???

Re: OPEN_CURSORS-???

From: Jim Kennedy <kennedy-downwithspammersfamily_at_attbi.net>
Date: Fri, 13 Aug 2004 06:55:41 GMT
Message-ID: <NBZSc.299$mD.11@attbi_s02>

"Dusan Bolek" <pagesflames_at_usa.net> wrote in message news:1e8276d6.0408122219.17fc0db2_at_posting.google.com...
> "Jim Kennedy" <kennedy-downwithspammersfamily_at_attbi.net> wrote in message
news:<_ATSc.242595$a24.58689_at_attbi_s03>...
> > "DK" <dakight_at_bellsouth.net> wrote in message
> > news:K6TSc.25$ii.5_at_bignews5.bellsouth.net...
> > > I have a developer who would like for the open_cursors to be set to
2000.
> > > He tells me that he will open his cursor once for the life of his
> > > application to avoid reparsing his sql statements by oracle. He's
using
> > > bind variable in his code. Is there an advantage of leaving these
cursors
> > > open for the duration of the application versus just having Oracle
search
> > > the shared pool for the matching sql?
> > >
> > This practice helps scalability of the application. You require less
CPU
> > cycles and will have better performance. This is a common practice.
Your
> > machine will use more RAM as each process will possibly need more ram to
> > run, but you will have less memory thrashing if you have sufficient ram
on
> > the server.
>
> However, everything has some limit. I have here an application that
> serves for 4000 users, at the end of the day there is 400.000 open
> cursors. Sometime is a good idea to close cursor.
>
> --
> Dusan Bolek
> http://www.db-support.com
>
> Email: spambin_at_seznam.cz
> Pls add "Not Guilty" to the subject, otherwise your email will face an
> unpleasant end as SPAM.

Sometimes, but if you do the server has to set up all the memory structures etc when you open it again. We were able to get almost 2,000 users on a 4 way NT box about 7 years ago with about 200 open cursors per session. Scaled nicely. NT runs out of threads so we were limited to 2,000 sessions. We would only open a cursor if the application actually needed that data. That is if the user did not go to certain parts of the application then those other cursors were never opened. It is quite typical in most applications that a user doesn't go to every area, but stays in a fairly confined part of the application. Thus if you visited every part of the application you would end up opening 3,000 cursors, but typically you only used 200.
Jim Received on Fri Aug 13 2004 - 01:55:41 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US