PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum C# - Oracle - Cursores - Dúvida #412459

06/02/2012

0

Salve galera.

Estou com uma dúvida aqui que é a seguinte, tenho uma aplicação em C# com Oracle que importa registros de um banco para outro, ela conecta-se no banco Y e para ler a informações e conecta-se no banco X para gravar as mesmas, até ai tudo bem.
Só que essa aplicação roda vários serviços, ou seja, ao mesmo tempo que ela esta rodando o processo de importação ela abre uma outra conexão com o banco X para rodar um serviço que acumula valores de clientes. Isso funciona por que usamos Threads.
Quando rodamos os dois serviços juntos pela primeira vez começaram a dar erros, lendo sobre o problema na internet adicionamos o parâmetro “Oci Session Pooling = true” na string de conexão e resolveu. E agora esta funcionando normal.
Minha dúvida é a seguinte, monitorando as Sessions pelo PL/SQL vi que o “opened cursors cumulative” chegou a mais de 500 mil e o “opened cursors current” chega a 6 no máximo.
Não entendo muito da Engine do banco, então queria saber:
- se é normal a cada SQL que faço ele abrir um cursor e fechar?
- Se só preciso me preocupar com o volume dos que estão abertos juntos?
Digo isso por que me falaram que tem como eu reaproveitar cursor pra não ficar criando um a cada SQL executado.
Então acho que essa dúvida seria melhor respondida por um DBA ou algo assim.
Fico no aguardo, abraços.
Vortice Sistemas

Vortice Sistemas

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar