Anybody can explian what influence to my system if i increase open_cursors

I want to increase open_cursors to 1000 , because of ORA-01000 error. But i want to know what influence to my system if i increase open_cursors !

There are two types of cursors in the Oracle SQL engine.
The cursors that results from parsing and determining an execution plan. These you will find in V$SQLAREA.
These cursors are intended to be shared.
When a client opens such a cursor, a "client" cursor is created. Oracle refers to this as a "child cursor". This cursor include the bind variable values to use for the cursor, the current "state" of the cursor and so on. These you will find in V$OPEN_CURSOR.
An ORA-1000 results due too many client/child cursors being simultaneously opened.
How many child cursors should a client application have opened at a single point in time? 1 or 2.
Any more than this is not sensible as a client can only fetch and process a single cursor at a time. Maybe a 2nd cursor in some cases. But more than that? It does NOT make sense.
How many sessions will simultaneously create a child cursor? For how long will these child cursors be opened?
The answers to this determines the number of opened cursors the instance should cater for.
If the answer is a 1000, then that means a 1000 sessions at the same time opening and using child cursors. And I doubt that this is the case for the OP.
The Oracle default for open cursors is a SENSIBLE default. When changing that default, make sure that you are doing the SENSIBLE thing.
Do not treat the symptoms of client cursor leakage by client application by increasing the number of open cursors. Bluntly put - that is an idiotic approach that will only hurt the clients and Oracle more.
Determine the CAUSE. Fix the CAUSE. The approach is that simple.

Similar Messages

Maybe you are looking for