Re: trigger- problem: too many open cursors

From: jgar the jorrible <joel-garry_at_home.com>
Date: Wed, 1 Apr 2009 13:39:09 -0700 (PDT)
Message-ID: <8d4e120e-dfbd-48e2-9fcb-0f5eb041e95d_at_p42g2000prp.googlegroups.com>



On Apr 1, 5:00 am, Andreas Mosmann <mosm..._at_expires-30-04-2009.news- group.org> wrote:
> hi ng,

> Now the problem: Sometimes (no way to find out all circumstances) there
> is an error
>
> ORA-01000: maximum open cursors exceeded
> ORA-06512: at MyOwner.MyTrigger, line 167
> ORA-04088: error during execution of trigger MyOwner.MyTrigger
>
> Line 167 is the line, where the insert statement is executed
>
> There are no loops in the code and so we do not know where new cursors
> are opened. What can we do to find out our mistake(s)?
>
> Many thanks
> Andreas
>
> --
> wenn email, dann AndreasMosmann <bei> web <punkt> de

EM (at least in 10g) has a display of open cursors for a session. You can also google around for similar code, but I've found the EM display easy and eye-opening. It's a link on the session details page. The display has a sql id link to the sql of each cursor, where you can see the plan, waits, shared cursor statistics, etc.

You might also want to google around for discussions of open_cursors and session_cached_cursors. The vendor supplied code I'm stuck with is profligate with cursors, and I think that is OK, since so much is shared. YMMV.

jg

--
_at_home.com is bogus.
You'd think Google Calendar would know about daylight savings time...
http://catless.ncl.ac.uk/Risks/25.62.html#subj4
D'Oh!
Received on Wed Apr 01 2009 - 15:39:09 CDT

Original text of this message