Seltsam. Einige Ideen:
-
Protokollieren Sie den Benutzernamen und das Kennwort einige Tage lang, um sicherzustellen, dass sie korrekt sind. Ein Fehler im Code könnte einen Wert überschreiben, den Sie nicht erwarten.
-
Erwägen Sie die Verwendung von JNDI mit einem von Tomcat bereitgestellten Verbindungspool. DBCP hat einige wirklich erweiterte Optionen, um zu prüfen, ob eine Verbindung noch aktiv ist und wie sie wiederhergestellt werden kann. Danach sollten Sie keine verbindungsbezogenen Probleme mehr in Ihren Protokollen sehen. Dies würde auch die Sicherheit verbessern, da keine der Apps mehr das DB-Passwort kennen muss.
-
Es könnte ein Problem mit Ressourcenlecks sein (passiert, wenn eine App die Verbindung nie zurückgibt), aber ich würde dann eine andere Fehlermeldung erwarten.
-
Einige Datenbanken (DB2, H2) erlauben das Erstellen von Ansichten, die entfernte Tabellen aus anderen Datenbanken wie lokale Tabellen sichtbar machen. Nicht sicher, ob Oracle dies unterstützt, aber wenn ja, dann ist vielleicht der Benutzername/das Passwort für diese entfernte Tabelle falsch.
Beachten Sie auch die Punkte in diesem Blogbeitrag:Tipps zu Oracle ORA-01017
Auf den ersten Blick könnte nichts in dem Beitrag Ihre Probleme verursachen, aber vielleicht manipuliert ein Skript die tnsnames.ora
(zum Beispiel das Verteilen einer neuen Kopie).
Oder der DBA hat alle Benutzer für die Zeit des täglichen Backups deaktiviert.