This ORA-01000 error comes 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 you shouldn’t get this error.

For 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