Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

walquiriabm

Problema Conexão com Oracle

Recommended Posts

Olá!

 

Estou com um problema de conexões com Oracle que está me dando muita dor de cabeça.

Uso Oracle com Asp.Net, aplicação web. O sistema está ok, mas de vez em quando acontece de exibir as mensagens

 

ORA-02396: tempo inativo máximo excedido; conecte-se novamente

Ou

ORA-01012: logon não estabelecido

 

Se eu atualizar, funciona normalmente...

Não é sempre que acontece isso, mas quando começa a acontecer acontece no sistema todo...

Não estou usando pool de conexões

 

alguém pode me dar um help?

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você sabe se o Oracle está utilizando profile? Você pode ver (se tiver privilégio) com select * from dba_profiles. O Profile limita os recursos físicos e de senha do usuário. Geralmente, quando o limit de conexão é excedido, o Oracle aborta a sessão e retorna um erro.

 

Vou mostrar abaixo um exemplo que gera exatamente o erro ORA-02396 por causa do profile:

 

 

Primeiro é necessário verificar se o parâmetro resource_limit está setado para TRUE.

SQL> show parameter resource_limit

 

Caso não esteja, é necessário alterá-lo.

SQL> alter system set resource_limit=true scope=both;

 

Depois criar um PROFILE (só como exemplo) que limita o usuário, não o deixando ficar mais de 1 minuto inativo (caso fique mais de 1 minuto cai a conexão).

CREATE PROFILE PROF_TESTE LIMIT

IDLE_TIME 1;

 

Eu criei um usuário chamado EDER e atribui o profile PROF_TEST a ele. Após, conectei no sqlplus com o usuário EDER e verifiquei o que iria acontecer após 1 mimuto com o usuário inativo.

 

Em outra sessão eu acompanhei a conexão do usuário com o usuário SYSTEM. O usuário EDER ficou inativo depois de aproximadamente 10 segundos.

 

SQL> select status from v$session where username = 'EDER';

INACTIVE

 

Depois executei com 1 minuto e continuava inativo. Após algum tempo eu executei novamente e a sessão estava morta.

 

SQL> select status from v$session where username = 'EDER';

SNIPED

 

 

Já na janela onde estava conectado com o usuário EDER, tentei fazer um select e obtive o seguinte erro:

 

SQL> select sysdate from dual;

select sysdate from dual

*

ERROR at line 1:

ORA-02396: exceeded maximum idle time, please connect again

 

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

na aba info do odac (orasession), tah assim:

 

OCI: Version 55317524.1306848.54750386.0.6

DLL: K:\oraclexe\app\oracle\product\10.2.0\server\BIN\oci.dll

Home [XE]: K:\oraclexe\app\oracle\product\10.2.0\server

Current Home: K:\oraclexe\app\oracle\product\10.2.0\server

Call style:

Oracle:

 

mas dah erro: can´t initialize OCI. Error -1

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.