Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Timeout für Oracle-Verbindung/-Abfrage

Wenn Sie die Abfrage im Kontext einer Transaktion ausführen, ist der Transaktionszeitlimitwert des JTA-Transaktionsmonitors die Determinante für das Abfragezeitlimit. Die Konfiguration hierfür ist von Anwendungsserver zu Anwendungsserver unterschiedlich.

Auf einer einzelnen Abfrageebene (in Ermangelung eines JTA-Transaktionsmonitors) wird der setQueryTimeout -Methode kann verwendet werden, um die Zeitüberschreitung für die Ausführung eines Statement/PreparedStatement/CallableStatement-Objekts festzulegen.

Aktualisieren

Auf setQueryTimeout ist kein Verlass, obwohl es funktioniert (zumindest von einem J2SE-Client). Es funktioniert über den JDBC-Treiber, der einen vollständigen Roundtrip zum Oracle-Datenbankserver durchführt. Dann liegt es an der Datenbank, die Ausführung der Abfrage anzuhalten. Verlassen Sie sich bei zeitkritischen Anwendungen nicht darauf.