SOLVED

ORA-01000: Maximum Open Cursors Exceeded

Asked by OracleDba11 viewsoracle

#oracle#error

Solutions(1)

Accepted Solution
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
This ORA-01000 error occurs when current open_cursors exceeds the defined open_cursor parameter database.

SELECT max(a.value) as highest_open_cur, p.value as max_open_cur FROM v$sesstat a,

v$statname b, v$parameter p WHERE a.statistic# = b.statistic# and b.name = 'opened cursors current'

and p.name= 'open_cursors' group by p.value;

HIGHEST_OPEN_CUR MAX_OPEN_CUR

---------------- -----------------------

320 300

SQL> show parameter open_cursor

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

open_cursors integer 300

Here we can see the highest_open_curosor is more than max_open_cursor. So to avoid this, increase the open_cursor values in spfile.

SQL> alter system set open_cursors=1000;

System altered.

Now check again. 

To get more information you can use the below query to find what session was causing the issue.

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' and s.username is not null;

VALUE USERNAME SID SERIAL#

---------- ------------------------------ ---------- ----------

2 SYS 12 61990

Hope it Helps!
OracleDba

Post Your Solution