I'm working on a database system where the 'open cursors current' (from V$SYSSTAT) just keeps on increasing. Currently after 3 days we've got over 20,000 open cursors.
(note: We're using Oracle 8).
We're using connection pooling so some of the users will logged on for several days.
When I look at v$open_cursor it says that there are only 250 open cursors.
What's the difference between the stats from v$open_cursor and those from V$SYSSTAT?
We do tend to notice a performance deteriation after about a week. I'm guessing that the number of open cursors gradually eats up resources.
Any help would be greatly appreciated.
v$sysstat is comulative!!!
That would explain a lot. But there are two parameters in v$sysstat :-
2 : 'open cursors cumulative' = 293812
3 : 'open cursors current' = 18863
What is the difference between these two values?
The primary difference is that 'opened cursors current' includes dynamic cursors opened, but not parsed, while v$open_cursor includes dynamic cursors that are opened AND parsed. An opened cursor counts against the statistic 'opened cursors current' whether it is parsed or not.
Thanks for that.
I guess our performance problems must be somewhere else.
If only we didn't have any users, then the performance is fine.
Click Here to Expand Forum to Full Width