概要
データソースの対象データベースを再起動した際や、冗長化されたデータベースがフェイルオーバーした際に、TDV側でプールされたコネクションが無効となる場合があります。
この記事では、そのような際のコネクションプールのリセットに関する情報をまとめています。
想定する状況
下図①のように、データベースへのコネクションがプールされた状態で、データベースが再起動した場合や、冗長化されたデータベースがフェイルオーバーしてコネクションが無効となるような状況を想定しています。
コネクションの自動再作成
データベースの再起動やフェイルオーバーなどで、コネクションが無効となった場合、実行中のリクエストに対しては接続切れのエラーが返されます。(下例参照)
しかし、TDVからデータソースへのリクエストがなく、すぐにデータソースが復旧した場合は、Connection Validation Queryを設定しておくことにより、順次接続が回復し、TDVはデータソースと適切に通信できるようになります。
※ Connection Validation Queryは、接続先のデータベースに合わせ適宜変更してください。
コネクションプールの明示的な再作成
コネクションプールを手動でリセットしたい場合は、幾つか方法が提供されています。
1. コネクションプールのクリア
下図②の通り、マネージャー(Studio/Web)のデータソース画面から、任意のデータソースのコネクションプールをクリアすることができます。
2. データソースの無効化/有効化
データソースを無効化/有効化することで、コネクションプールをリセットすることができます。
マネージャー(Web)の場合は、データソース画面の「有効化の変更」ボタン(下図③) より変更することができます。
又Studioでは、データソースを右クリックしたコンテキストメニューから変更できます。
3. TDV Serverの再起動
TDV Server自体を再起動することでも、コネクションプールはリセットされます。