Leonardo Pedroso Costa
MongoDB | SQL Server | Oracle

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:

[code lang=”sql”]
select * from dba_profiles where resource_name = ‘IDLE_TIME’;
[/code]

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:

[code lang=”sql”]
ALTER PROFILE DEFAULT LIMIT IDLE_TIME UNLIMITED;
ALTER PROFILE DEFAULT LIMIT IDLE_TIME 120;
ALTER PROFILE DEFAULT LIMIT IDLE_TIME DEFAULT;
[/code]

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.

Leonardo Pedroso

Leonardo Pedroso

Profissional de TI experiência em administração de banco de dados: SQL Server 2000 a 2019, Oracle 11g a 19c, PostgreSQL, MySQL, MongoDB, Cassandra. Atua realizando análise de desempenho, DR e HA, implantação, administração de banco de dados em cluster e implementação de projetos de banco de dados NoSQL (MongoDB, Cassandra), bem como automação de processos utilizando Shell script, Powershell (dbatools), e players de Cloud: Azure e Aws.