Ímpar. Algumas ideias:
-
Registre o nome de usuário e a senha por alguns dias apenas para ter certeza de que estão corretos. Algum bug no código pode substituir um valor que você não espera.
-
Considere usar JNDI com um pool de conexões fornecido pelo Tomcat. O DBCP tem algumas opções realmente avançadas para verificar se uma conexão ainda está ativa e como reconectá-la. Depois disso, você não verá mais problemas relacionados à conexão em seus logs. Isso também melhoraria a segurança porque nenhum dos aplicativos precisa saber mais a senha do banco de dados.
-
Pode ser um problema com vazamentos de recursos (acontece se um aplicativo nunca retornar a conexão), mas eu esperaria uma mensagem de erro diferente.
-
Alguns bancos de dados (DB2, H2) permitem criar visualizações que tornam visíveis tabelas remotas de outros bancos de dados como tabelas locais. Não tenho certeza se o Oracle suporta isso, mas se isso acontecer, talvez o nome de usuário/senha para esta tabela remota esteja errado.
Considere também os pontos nesta postagem do blog:dicas do Oracle ORA-01017
À primeira vista, nada no post pode causar seus problemas, mas talvez algum script esteja manipulando o
tnsnames.ora
(por exemplo, distribuir uma nova cópia). Ou o DBA desativou todos os usuários para o horário do backup diário.