ablog

不器用で落着きのない技術者のメモ

tnsnames.ora に enable=broken を記述して無効な接続を破棄する

想像で書いてますw

前提

  • OS が Linux の場合の説明です。
  • tnsnames.ora に ENABLE=BROKEN を記述する。
  • クライアント側で以下の通りカーネル・パラメータが設定されているとする。
% sysctl -a|grep keepalive
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200

無効な接続を検出する動作


  • 2時間(tcp_keepalive_time = 7200)以上接続がアイドル状態になると、1分15秒間隔(tcp_keepalive_intvl = 75)でクライアント側からキープアライブ・パケットをサーバープロセスに送信する。
  • サーバープロセスから応答がない場合、1分15秒間隔(tcp_keepalive_intvl = 75)で9回(tcp_keepalive_probes = 9)サーバープロセスにキープアライブ・パケットを送信する。それでも、応答がなければ接続を終了する。