Oracle: Cursores Abertos

Oracle: Cursores Abertos

Segue 2 querys para identificar a quantidade de cursores aberto no oracle. A primeira query vai listar o setado na instancia e a numero maximo aberto desde que a instância foi iniciada.

col hwm_open_cur format 99,999
col MAX_OPEN_CUR format 99,999
col MAX_OPEN_CUR format a30
select 
   max(a.value) as hwm_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;

Verificando por sessão no banco de dados.

col USERNAME format a30
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;

Alterando a quantidade de parametros do banco de dados, é de forma online e não precisa de reboot da instância.

alter system set open_cursors=800 scope=both;