質問

質問

長時間アイドル状態のセッションが続くシナリオがありますTOADソフトOracle サーバーとのクライアント通信は、中間の状態フル ファイアウォールでタイムアウトすると切断されるようです。

これらのセッションは、数時間にわたってアイドル状態になる可能性があります。
ファイアウォールのタイムアウトをグローバルに増やすことは許容されません。もちろん
、特定のフローのタイムアウトを長くすることはサポートされていません。


PuTTYアイドル接続のこの問題を修正しました。設定可能なキープアライブ

しかし、TOAD ソフトウェアでそのようなサポートが行われているかどうかはまだ確認されていません。

システム全体の構成について少し調べてみたところ、Microsoft TechNetの以下の詳細が見つかりました。システム全体のキープアライブの設定それは、キープアライブタイムおよび関連するレジストリ変数。

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime

これはシステム全体のキープアライブを使用するための Linux システム全体の設定ただし
、そのためにはプログラムが を使用してsetsockopt()キープアライブを要求する必要があります (そうですよね?)。

カーネルで設定されている場合でも、キープアライブ サポートは Linux のデフォルトの動作ではないことに注意してください。プログラムは、setsockopt インターフェイスを使用してソケットのキープアライブ制御を要求する必要があります。キープアライブを実装しているプログラムは比較的少数です...


質問

  1. これを使ってもいいですかWindowsクライアントマシンまたはサーバー上のKeepAliveTimeテクニック?
    (誰か試したことある人いる?)
    • これらの TOAD 接続をアクティブに保つ他の方法はありますか (通信のどちらの側からでも)?

答え1

値を設定するSQLNET.EXPIRE_TIMEsqlnet.ora 内。

これがOracleマニュアルこの件に関してこう述べています。

目的

パラメータを使用して、SQLNET.EXPIRE_TIMEクライアント/サーバー接続がアクティブであることを確認するためのプローブを送信する時間間隔 (分単位) を指定します。 0 より大きい値を設定すると、クライアントの異常終了により接続が無期限に開いたままにならないことが保証されます。 プローブが終了された接続、または使用されなくなった接続を検出すると、エラーが返され、サーバー プロセスが終了します。 このパラメータは主に、通常、一度に複数の接続を処理するデータベース サーバーを対象としています。

この終了した接続検出機能の使用に関する制限は次のとおりです。

  • 遺贈された接続では許可されません。
  • プローブ パケットは非常に小さいですが、追加のトラフィックを生成し、ネットワーク パフォーマンスを低下させる可能性があります。
  • 使用しているオペレーティング システムによっては、サーバーは接続プローブ イベントを他のイベントと区別するために追加の処理を実行する必要がある場合があります。これにより、ネットワーク パフォーマンスが低下する可能性もあります。

デフォルト: 0

最小値: 0

推奨値: 10

SQLNET.EXPIRE_TIME=10

答え2

SSH アクセスはありますか? SSH トンネルを設定し、それを介して SQL 通信を送信できます。

TOAD: サーバー (または tnsnames) は localhost になり、リスニング ポートは 12346 などのランダムなポートになります。PuTTY
: ポート転送。送信元ポート: 12346、宛先: $REMOTE_IP:1521。ローカル ポートのままにします。

接続セクションを介して PuTTY の TCP キープアライブが有効になっていることを確認してください。

答え3

Dell のサイトでこれを見つけ、動作することを確認しました (Toad 11.5.0.56 の場合)。 Toad には、ネットワークがタイムアウトしないようにするためのキープアライブ / 間隔時間 / ping 設定がありますか? (49507)

要約すると、DBMS 出力メニュー バーの左側にある赤いボタン アイコンをクリックして、DBMS 出力ウィンドウで出力をオンにします (緑色に変わります)。これには、データ グリッド タブの横にある DBMS 出力タブ、または [表示] -> [DBMS 出力] からアクセスできます。

これにより、ポーリングも自動的にオンになります。私の経験では、DBMS出力とそして接続を維持するためにポーリングが有効になっています。

関連情報