Re: Help with ORA-01000 Error
Date: Wed, 19 Jun 2013 03:38:59 +0000 (UTC)
Message-ID: <kpr94j$ph3$5_at_solani.org>
On Tue, 18 Jun 2013 09:25:28 -0700, joel garry wrote:
> Yes, John's reply incorrectly assumes it isn't the program, but is
> otherwise correct. Others would strongly disagree with him about the
> number of cursors (being too high), but whenever I see that I have to
> say mine are 5000. That's because my app purposefully keeps cursors
> open, and yet still handles them efficiently and properly, so they are
> around on demand, making certain queries much faster than expected. So
> really, it depends on the app. For most cases where you keep upping
> cursors to 5000, that would indicate some dumb programming error (or
> some configurations of some access software as to default cursor
> handling), but if the app is done right, the limit is asymptotic, not
> ever increasing. How this actually works has changed a lot over Oracle
> versions, so it really isn't unreasonable to expect a lower cursors than
> John says, except when you have software that requires otherwise.
Basically, with the advent of large memories, when almost everybody has at
least 4GB on the PC, cursors are cheap and closing them obsessively is no
longer required. In addition to that there are pieces of software, which
turn me into a cursor, and are used to write large number of application.
I am talking about Groovy on Grails, Spring MVC, Hibernate and Struts
which all tend to open cursors in profusion. They also generate SQL
statements that turn me into [*EXPLETIVE DELETED*] cursor. The old wisdom
that if an application uses more than 500 open cursors, there is something
wrong with it, no longer applies.
The new wisdom says that applications suck, are regularly written by cheap
incompetent "engineers" who have no idea about the software engineering
and the sound relational design, but we have to support the applications,
no matter what. Software engineer is no longer responsible for the
performance of its creations, now there is a DBA who will work his or her
magic. DBA is responsible for the application performance but has no say
in the application design.
But thought's the slave of life, and life time's fool; And time, that takes survey of all the world, Must have a stop.
(Henry IV)
-- Mladen Gogala The Oracle Whisperer http://mgogala.byethost5.comReceived on Wed Jun 19 2013 - 05:38:59 CEST