Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: ORA-4031 on

RE: ORA-4031 on

From: Subbiah, Nagarajan <>
Date: Thu, 20 Jan 2005 10:31:42 -0500
Message-ID: <>

Hi Oracle Gurus,
"PL/SQL Cursor Caching

Prior to release of the 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 alleviates the issue by changing the init.ora parameter which determines the upper bound for PL/SQL cursor caching from open_cursors to

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. "

How to findout the optimal value for the session_cached_cursors?

Maximum open cursor for a session from v$open_cursor is 145 and the session_cached_cursor values is 128.


> -----Original Message-----
> From: Subbiah, Nagarajan
> Sent: Wednesday, January 19, 2005 10:48 AM
> To: 'Oracle-L (E-mail)'
> Subject: ORA-4031 on
> We are using oracle on HP 11.11. The v$sgastat monitoring shows
> that the 'shared pool miscellaneous' is keep growing and ORA-4031 occurs
> in few days. The session_cached_cursors, value is 128 and the
> open_cursors is 600. What does the 'shared pool miscellaneous' refers to
> and any known bugs on ORA-4031 on
> Any script is available for the pro-active monitoring and take some action
> to avoid it before the application start throwing the error message?
> Value of _kghdsidx_count is 2. Shared_pool_size was increased from 250M to
> 600M.
> Thanks,
> Raja

Received on Thu Jan 20 2005 - 10:44:08 CST

Original text of this message