Como consegui corrigir o erro “ORA-02396: exceeded maximum idle time, please connect again”

Pessoal, post rápido com uma dica simples de um método que consegui resolver o erro ERROR: “ORA-02396: exceeded maximum idle time, please connect again”! Normalmente esse ocorre quando o profile associado ao usuário está com a configuração de IDLE_TIME setada com um valor baixo.

A seguinte query te informa qual configuração está em vigor para o parâmetro IDLE_TIME:

select * from dba_profiles where resource_name = 'IDLE_TIME';

No exemplo acima, vimos que o profile DEFAULT, que por sinal é o profile padrão para meus usuários, estava com o IDLE_TIME configurado para unlimited. Ou seja, o problema não era o profile.

Caso fosse necessário alterar o IDLE_TIME para um valor maior, ou até para UNLIMITED, bastaria executar a query abaixo:

ALTER PROFILE DEFAULT LIMIT IDLE_TIME UNLIMITED; 
ALTER PROFILE DEFAULT LIMIT IDLE_TIME 120;
ALTER PROFILE DEFAULT LIMIT IDLE_TIME DEFAULT;

Após pesquisar bastante, vi que tem um parâmetro no SQLNET.ORA que também faz o Oracle retornar esse erro em casos de inatividade, ele é o SQLNET.EXPIRE_TIME!

[server01:db01:]$ cat sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=12
SQLNET.ALLOWED_LOGON_VERSION_SERVER=12
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.EXPIRE_TIME=180

Pois bem, fiz a alteração do arquivo SQLNET.ORA que estava no $ORACLE_HOME do meu banco de dados para o valor 180 e consegui corrigir o erro.

Deixe uma resposta

Seu e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

×