When executed a sql on system dictionary, the error ORA-609 was raised along with "can not execute recursive sql".
1. Check the current session opened cursors with following sql.
select a.value, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic# and s.sid=a.sid
and b.name = 'opened cursors current';
VALUE USERNAME SID SERIAL#
---------- ------------------------------ ---------- ----------
0 1 1
0 2 1
0 3 1
0 4 1
0 5 5
0 7 1
1 9 16864
12 DBSNMP 10 15572
1 SYS 16 27185
56 SYSMAN 17 22626
5 SYSMAN 18 20353
300 CUSRGL 22 6188
0 63 7
0 64 1
0 65 1
1 66 1
2. Check the system parameters
SQL> show parameters cursor
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cursor_sharing string EXACT
cursor_space_for_time boolean FALSE
open_cursors integer 300
session_cached_cursors integer 50
We can see that session 22 reached the max limit of open cursors.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12001320/viewspace-723225/
,如需转载,请注明出处,否则将追究法律责任。