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

Home -> Community -> Mailing Lists -> Oracle-L -> Re: session_cached_cursors and ora-07745

Re: session_cached_cursors and ora-07745

From: Paul Drake <bdbafh_at_gmail.com>
Date: Tue, 15 Mar 2005 17:10:26 -0500
Message-ID: <910046b4050315141062b3ee7b@mail.gmail.com>


>From the readme from 9.2.0.5 patchset for win32:



Oracle9i Database Server
Patch Set Notes
Release 2 Patch Set 4 Version 9.2.0.5.0 for 32-Bit Windows March 2004

PL/SQL Cursor Caching

Prior to release of the 9.2.0.5.0 patch set, the maximum number of cursors that could be cached for fast lookup by PL/SQL was bounded by the value of the init.ora parameter open_cursors. If you currently have open_cursors set to a high value (for example, greater than 1000), it is likely that this is causing large numbers of PL/SQL cursors to be cached in the shared pool. This could lead to issues with memory management, frequent reloading of library cache objects and ORA-04031 errors.

Patch set 9.2.0.5.0 alleviates the issue by changing the init.ora parameter which determines the upper bound for PL/SQL cursor caching from open_cursors to session_cached_cursors.

Most users will not need to modify the value of either of these parameters. If you already have session_cached_cursors set to a value greater than the open_cursors parameter, then this change will have no performance impact upon your system.

However, if you have session_cached_cursors set to zero, or set at a value significantly lower than the open_cursors parameter, and you are concerned that PL/SQL cursors need to be cached for optimal performance, then you should ensure that the session_cached_cursors parameter is increased appropriately.

This issue is bug number 3150705.


>From that, I thought that it was proper to set
|open_cursors|=|session_cached_cursors|
where |parameter| = value (aka magnitude or scalar).

The metalink note makes it clear to me that this is overkill.
>From this, it looks like I'd revert session_cached_cursors back to 100
and leave open_cursors at 255 like I did back in 9.2.0.4.

I do recall having a series of ora-4031 issues for a db after it went from 8.1.7 to 10.1.0.3.
This could help to explain that.
(the system state dump run while throwing the 4031s never completed as after 40 min we just bounced the db inst).

Paul

On Tue, 15 Mar 2005 16:50:58 -0500, Robyn <robyn.sands_at_gmail.com> wrote:
> Hello all,
>
> One of my test/dev instances went belly up yesterday morning with
> ORA-07445 errors in the alert log. I've the the database back but I
> ran across a doc on metalink (Note:274496.1) that indicates using
> parameter session_cached_cursors should not be used with version
> 9.2.0.5 and up.
>
> This database is 9.2.0.6 / HP-UX 11.23. I've been selectively using
> session_cached_cursor with other 9.2.0 databases but this is the first
> db that I've seen these errors on. Has anyone else seen this happen
> and/or heard that this param should not be used?
>
> tia ... Robyn
> --
> http://www.freelists.org/webpage/oracle-l
>

-- 
#/etc/init.d/init.cssd stop
# f=ma, divide by 1, convert to moles.
--
http://www.freelists.org/webpage/oracle-l
Received on Tue Mar 15 2005 - 17:14:01 CST

Original text of this message

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