sinkope is not kind of paradoxical existence

🎼 🎹 🏀 🌠 🚶 👣 📷 💻 🎨 🎮 📖 and more !

ORA-03113: 通信チャネルでend-of-fileが検出されました

同じ Oracle9i でも、テスト用のDBMSが9.0、本番用が9.2、でビミョーに挙動が違います。いやバージョンのせいじゃなくて、設定パラメータの違いなのかも知れませんし、OSに依存しているのかも知れません。まぁテスト環境から本番環境に接続を移すとトタンにうまくいかなくなるってェのはありがちですね。
今回顕著だったのが ODP.NET 経由で接続した時の通信チャネル切れ。しばらく画面を使わないでいるとチャネルが切れるらしく、一旦 ORA-03113 が返ってくるのですね。すぐにもう1回実行すると何事もなく動くという‥‥。何故にWeb画面APでプーリングが効いてるのか最初理解出来なかったのですが(当然画面毎にコネクションは張りなおしているワケだし)、たまたま居合わせた昔の職場の先輩に相談してて「ミドルでプーリングされてるのかもネ」って話になりました。おお、確かに。
ってコトで色々ググるこんなページこんなPDF発見。にゃるほろ、Net8 の Connection Pooling ですか。
そこで ConnectionString に pooling=false を追記してみました。うむ、とりあえず直ったっぽい。でもパフォーマンスに影響もあるんだろうなぁ。むしろDBMS側の init.ora をいじってタイムアウト値を変更すればええのやろか?(MTS_DISPATCHERS 周り?) 管理者にも相談せんとイカンですのぉ。