Defina o valor de SQLNET.EXPIRE_TIME em sqlnet.ora.
Veja o que o manual da Oracle diz sobre este assunto:
Finalidade
Use o parâmetro SQLNET.EXPIRE_TIME
para especificar o intervalo de tempo, em minutos, para enviar uma análise para verificar se as conexões cliente / servidor estão ativas. Definir um valor maior que 0 garante que as conexões não sejam deixadas abertas indefinidamente, devido a uma finalização anormal do cliente. Se o probe encontrar uma conexão terminada ou uma conexão que não esteja mais em uso, ele retornará um erro, fazendo com que o processo do servidor seja encerrado. Esse parâmetro é destinado principalmente ao servidor de banco de dados, que normalmente lida com várias conexões a qualquer momento.
As limitações em usar este recurso de detecção de conexão finalizada são:
- Não é permitido em conexões legadas.
- Embora muito pequeno, um pacote de sondagem gera tráfego adicional que pode degradar o desempenho da rede.
- Dependendo de qual sistema operacional está em uso, o servidor pode precisar executar processamento adicional para distinguir o evento de sondagem de conexão de outros eventos que ocorrem. Isso também pode resultar em degradação do desempenho da rede.
Padrão : 0
Valor mínimo : 0
Valor recomendado : 10
Exemplo
SQLNET.EXPIRE_TIME=10