Cursores ao iniciar o banco

Oracle

15/06/2007

Pessoal,

através da sql:

select o.sid, osuser, machine,
count(*) num_curs
from v$open_cursor o, v$session s
where o.sid=s.sid
group by o.sid, osuser, machine
order by num_curs

Eu consigo visualizar quais são os cursores que cada computador que está acessando o meu servidor está utilizando. Existem muitos dele que a propria máquina do servidor está utilizando, isto é normal ou pode ser alguma anômalia?

agradeço desde já


Thyagobarbosa

Thyagobarbosa

Curtidas 0

Respostas

Arf

Arf

15/06/2007

É normal.
Estes cursores são abertos geralmente pelos processos de segundo plano e jobs agendados pelo scheduler ou crontab ou agendador de tarefas...


GOSTEI 0
Arf

Arf

15/06/2007

Ah, e você pode verificar isso com a query abaixo, semelhante a sua, mas sem o group by:

select s.machine, s.osuser, schemaname, username, program
from v$open_cursor o, v$session s
where o.sid=s.sid
order by s.machine, s.osuser;


Note que a coluna PROGRAM irá mostrar o usuário e o servidor (alguma coisa do tipo usuario@servidor) do banco nos casos que você questionou.


GOSTEI 0
Arf

Arf

15/06/2007

Mais um detalhe que esqueci de mencionar;

A coluna PROGRAM irá mostrar entre parênteses o processo de segundo plano, quando o cursor for referente a um processo de segundo plano.


GOSTEI 0
Thyagobarbosa

Thyagobarbosa

15/06/2007

ARF, obrigado pela ajuda. Agora tem proceso iniciado pelo servidor alocando 91 cursores outros alocando 50, isso é normal?

agradeço desde já


GOSTEI 0
Arf

Arf

15/06/2007

Sim, é normal sim, pois dependendo das operações que estão sendo feitas no banco, pode ser necessário que alguns processos de servidor usem vários cursores.

Isso pode acontecer, por exemplo, em exports, backups, etc.


GOSTEI 0
POSTAR