doc Name: usercurs.sql Author: Mark Gurry The following script lists user session cursor usage. The opened cursors figure should ideally be less than the INIT.ORA OPEN_CURSORS parameter. # drop view user_cursors; create view user_cursors as select ss.username||'('||se.sid||') ' user_process, sum(decode(name,'recursive calls',value)) "Recursive Calls", sum(decode(name,'opened cursors cumulative',value)) "Opened Cursors", sum(decode(name,'opened cursors current',value)) "Current Cursors" from v$session ss, v$sesstat se, v$statname sn where se.statistic# = sn.statistic# and ( name like '%opened cursors current%' OR name like '%recursive calls%' OR name like '%opened cursors cumulative%') and se.sid = ss.sid and ss.username is not null group by ss.username||'('||se.sid||') '; ttitle 'Per Session Current Cursor Usage ' column USER_PROCESS format a25; column "Recursive Calls" format 999,999,999; column "Opened Cursors" format 99,999; column "Current Cursors" format 99,999; select * from user_cursors order by "Recursive Calls" desc;