20.1 クラスタコネクションプール機能
この節では,クラスタコネクションプール機能について説明します。
この節の構成を次の表に示します。
分類 |
タイトル |
参照先 |
---|---|---|
解説 |
Oracle RACを使用したOracleへの接続 |
|
クラスタコネクションプールの概要 |
||
使用するリソースアダプタ |
||
クラスタコネクションプールの動作 |
||
手動によるコネクションプールの停止・開始の流れ |
||
設定 |
コネクションプールをクラスタ化するために必要な設定 |
クラスタコネクションプール機能は,データベースをクラスタ構成にしているシステムの場合に,最適な動作をするための機能です。Oracle RACを使用したOracleへの接続の場合に使用できます。クラスタコネクションプール機能を使用することで,障害発生時やメンテナンス時の可用性の低下を防ぐことができます。クラスタコネクションプール機能の使用時に,データベースノードに障害が発生した場合,およびデータベースノードのメンテナンスを行う場合の動作について説明します。
-
データベースノードに障害が発生した場合
OS,ハード,ソフト障害など,コネクションが取得できない状況になった場合,障害が発生しているデータベースノードに接続しているコネクションプールを自動で一時停止できます(自動一時停止機能)。J2EEアプリケーションからリソースアダプタにコネクションの取得要求が出された場合でも,一時停止されたコネクションプールにはコネクションの取得要求が出されないため,TCP/IPのタイムアウトまで処理が中断することはありません。これによって,J2EEアプリケーションは,ほかの正常なデータベースノードに接続しているコネクションプールからコネクションを取得し,業務を継続できます。
また,データベースノードの障害が回復した時に,自動でコネクションプールを再開できます(自動再開機能)。コネクションプールが再開されると,自動的に回復したデータベースノードから再びアクセスされるため,データベースノード回復時にcjclearpoolコマンドを実行して,コネクションプールを削除する必要はありません。
-
データベースノードのメンテナンスを行う場合
データベースノードのメンテナンスを行う場合,コマンドを使用して任意のタイミングでメンバコネクションプールを一時停止できます(手動一時停止機能)。これによって,そのデータベースノードを切り離して,メンテナンスを行えます。
また,メンテナンスが終了して再開する時に,コマンドを使用して任意のタイミングでコネクションプールを再開できます(手動再開機能)。
なお,クラスタコネクションプール機能では,コネクション取得時に障害を検知した場合,正常なほかのメンバリソースアダプタからコネクションを取得します。その際,アプリケーションでエラーは発生しません。
この節では,Oracle RAC機能を使用してクラスタ化したOracleとの接続方法,およびコネクションプールをクラスタ化する場合のコネクションプール(クラスタコネクションプール)の特徴,および機能について説明します。