ORA-12571: TNS: パケット・ライターに障害が発生しました 某所でOracleを使っていると、たまに表題のエラーが出る。「ORA-12571」でググって見ると、謎の現象で解決しない例が多く見られる。 原因がさまざまであり、対策もさまざまなのだろう。 ここの環境では、一定時間通信しなかったあとでクエリを投げると出るようだ。 これはどうも、DBサーバまでの間にあるファイアウォールがTCPコネクションを切断してしまうため出ているようだ。 ファイアウォールではNATしているので、NATテーブルの飽和を防ぐために、一定時間アイドルだったTCPコネクションをNATテーブルから消してしまう。 また、NATしていなくても、TCPセッションハイジャックなどのリスクから回避するために、SPIでフィルタしてしまっているなんていう環境もあったりするだろう。 ネットワーク環境的な回避方法だと、キャッシュ