JDBCで長時間実行されているOracleクエリを停止または終了する方法はありますか?多くの場合、アプリケーションサーバーを再起動して、jdbcをOracleDBから切断します。
SQLPlusに類似した機能を探していますKill session
-JavaまたはJDBCで
SQLPlusで
SQL> ALTER SYSTEM KILL SESSION 'sid,serial#';
Javaで実行する手がかりはありますか?
jdbcタイムアウトを除いて、別のスレッドでクエリを実行する場合は、Statement.cancel()を使用してクエリを強制終了できます。
おそらくビットオフですが、代わりにJDBCタイムアウトを使用することを提案します。これには、強制ではなく実際に正常に終了するという追加の利点があります。
最新のアプリサーバーでは、通常、データソース構成からJDBCタイムアウトを定義できます。
Statement.setQueryTimeoutを試すことができます