6.8.5 データベースの環境設定

データベースセッションフェイルオーバ機能を使用する場合,データベースにはタイムアウト(HiRDBの場合UAP処理時間監視機能)の設定をしてください。

データベースセッションフェイルオーバ機能が有効の場合,機能の処理の中で操作対象となるデータベースのテーブルのレコードが排他制御されます。そのため,J2EEサーバのホストでの障害発生時などに,操作対象となっていたレコードが排他されたままになる場合があります。このとき,HTTPセッションの新規作成や,J2EEサーバとデータベースとの接続に失敗するおそれがあります。

タイムアウトの設定をしておくと,このような状況を検知してタイムアウト時にトランザクションがロールバックされ,レコードが排他制御される前の状態に戻るため,システムへの影響はなくなります。

なお,誤動作を防ぐために,データベースのタイムアウトの値にはDB Connectorに設定するタイムアウトの値よりも大きな値を設定してください。データベースの設定内容,手順については,HiRDBを使用する場合はマニュアル「HiRDB UAP開発ガイド」を,Oracleを使用する場合はOracleのマニュアルを参照してください。

レコードが排他制御される処理,処理中に操作対象となるテーブル,処理中にJ2EEサーバで障害が発生した場合のシステムへの影響,および出力されるメッセージを次の表に示します。

表6-45 レコードが排他制御される処理と処理中にJ2EEサーバで障害が発生した場合のシステムへの影響

項番レコードが排他制御される処理操作対象のテーブル障害が発生した場合のシステムへの影響出力されるメッセージ
1Webアプリケーション開始時のネゴシエーション処理アプリケーション情報テーブルアプリケーションのネゴシエーションに失敗するため,データベースセッションフェイルオーバ機能を使用するWebアプリケーションの開始に失敗します。出力されない
2グローバルセッション情報の作成処理空きレコード情報テーブルシステムで作成できるHTTPセッションの数が全体の90%になります。このあと,HTTPセッションの作成,または削除処理に失敗する場合があります。
  • 完全性保障モード無効時:KDJE34368-W
  • 完全性保障モード有効時:KDJE34312-W
3グローバルセッション情報の削除処理空きレコード情報テーブルシステムで作成できるHTTPセッションの数が全体の90%になります。このあと,HTTPセッションの作成,または削除処理に失敗する場合があります。
  • 完全性保障モード無効時:KDJE34377-E
  • 完全性保障モード有効時:KDJE34312-W
4グローバルセッション情報の更新処理セッション情報格納テーブルシステムで作成できるHTTPセッションの数が1個分減少します。このあと,減少したHTTPセッションを操作するリクエストを受信すると,HTTPセッションの取得に失敗します。
  • 完全性保障モード無効時:KDJE34368-W
  • 完全性保障モード有効時:KDJE34312-W
5グローバルセッション情報の有効期限監視処理アプリケーション情報テーブルデータベース上のグローバルセッション情報の有効期限が監視されなくなります。
  • 完全性保障モード無効時:排他処理を行わない
  • 完全性保障モード有効時:KDJE34336-W