Solução: Para a mensagem "ORA-01000: máximo de cursores abertos excedido" é necessário que sejam efetuadas as seguintes verificações:
1 - Deve-se entrar em contato com o DBA Oracle ou responsável pelo banco de dados e solicite que seja efetuado o aumento dos cursores do Oracle;
2 - Para verificar o número máximo de cursores, pode-se executar o comando abaixo: select v.value as numopencursors, s.machine, s.osuser, s.username from V$SESSTAT v, V$SESSION s where v.statistic# = 3 and v.sid = s.sid; 2.1 Select para verificar a numeração dos cursores antes de altera-lo: select name,value from v$parameter where name = 'open_cursors';
3 - Para aumentar o número de cursores, deve-se rodar o comando abaixo no scripter: alter system set open_cursors= 50000 scope=both; -- Neste caso o aumento ocorrerá para 50.000 cursores.
4 - Select para verificar cursores: select user_process username, "Recursive Calls", "Opened Cursors", "Current Cursors" from ( select nvl(ss.USERNAME,'ORACLE PROC')||'('||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 nvl(ss.USERNAME,'ORACLE PROC')||'('||se.SID||') ' ) orasnap_user_cursors order by USER_PROCESS,"Recursive Calls" ;