For example, if OPEN_CURSORS is set to 1000, then each session can have up to 1000 cursors open at one time.If a single session has OPEN_CURSORS # of cursors open, it will get an ora-1000 error when it tries to open one more cursor.

Just about every DBA has had to deal with ora-1000 errors, "Maximum open cursors exceeded." This article will discuss initialization parameters that affect open cursors, the difference between open and cached cursors, closing cursors, and monitoring open and cached cursors.

Open cursors take up space in the shared pool, in the library cache.

To keep a renegade session from filling up the library cache, or clogging the CPU with millions of parse requests, we set the parameter OPEN_CURSORS.

OPEN_CURSORS sets the maximum number of cursors each session can have open, per session.

SESSION_CACHED_CURSORS sets the number of cached closed cursors each session can have.

You can set SESSION_CACHED_CURSORS to higher than OPEN_CURSORS, lower than OPEN_CURSORS, or anywhere in between.

This parameter has no effect on ora-1000's or on the number of cursors a session will have open.

Conversely, OPEN_CURSORS has no effect on the number of cursors cached.

There's no relationship between the two parameters.