In release 220.127.116.11 and earlier, the maximum number of cursors that could be cached for fast lookup by PL/SQL was bounded by the value of the OPEN_CURSORS initialization parameter. If you currently have this parameter set to a high value (for example, greater than 1000), it might be 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.
Starting with release 18.104.22.168, the SESSION_CACHED_CURSORS initialization parameter now determines the upper bound for PL/SQL cursor caching instead of the OPEN_CURSORS initialization parameter.
Most users do not need to modify the value of either of these parameters. If the SESSION_CACHED_CURSORS parameter value is greater than the OPEN_CURSORS parameter value, then this change has no performance affect on your system.
However, if the SESSION_CACHED_CURSORS parameter value is zero or a value significantly lower than the OPEN_CURSORS parameter value, and you want to cache PL/SQL cursors for optimal performance, then increase the SESSION_CACHED_CURSORS parameter value appropriately.
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/29987/viewspace-51903/，如需转载，请注明出处，否则将追究法律责任。