Cosminexus V9 アプリケーションサーバ 機能解説 拡張編

[目次][用語][索引][前へ][次へ]

6.9.3 DB Connectorの環境設定

データベースセッションフェイルオーバ機能は24時間連続稼働を実現するための機能です。連続稼働を実現するには,データベースに障害が発生した場合もシステムに影響を与えないために,コネクションの障害検知などの設定が必要です。障害回復に必要な時間を考慮して,値を設定してください。

コネクションの障害検知については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.15.1 コネクションの障害検知」を参照してください。

DB Connectorに設定するプロパティおよび設定方法の詳細については,マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「4.2.2 DB Connectorのプロパティ定義」を参照してください。

DB Connectorに設定が必要なプロパティについて説明します。

<この項の構成>
(1) <config-property>タグで設定するプロパティ
(2) <property>タグに指定するプロパティ

(1) <config-property>タグで設定するプロパティ

<config-property>タグで設定するプロパティについて使用するデータベースごとに示します。なお,ここで示していないプロパティについては,データベースセッションフェイルオーバ機能に関する設定は不要です。

注意
データベースセッションフェイルオーバ機能を使用する場合,ステートメントプーリングを設定する必要があります。ステートメントプーリングは,J2EEサーバのメモリ使用量に大きく影響を与えます。そのため,コネクションプーリングの設定も考慮して,PreparedStatementPoolSizeプロパティの指定値を決定してください。
ステートメントプーリングについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.4 ステートメントプーリング」を参照してください。コネクションプーリングについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.1 コネクションプーリング」を参照してください。PreparedStatementPoolSizeプロパティに指定できる値については,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「4.1.10 DB Connectorに設定する<config-property>タグに指定できるプロパティ」を参照してください。なお,ステートメント一つ当たりの使用するメモリサイズについては,JDBC関連ドキュメントを参照してください。
(a) HiRDBを使用する場合に設定するプロパティ

HiRDBを使用する場合に設定するプロパティについて次の表に示します。

表6-46 HiRDBを使用する場合に設定するプロパティ

<config-property-name>タグに指定する値 <config-property-type>タグに指定する値 <config-property-value>タグに指定する内容または値 必須/任意
description java.lang.String データベースへの接続に必要な接続付加情報を指定します。 必須
DBHostName java.lang.String 接続するHiRDBのホスト名を指定します。 必須
loginTimeout java.lang.Integer getConnectionメソッドでConnectionオブジェクトを取得する際の,HiRDBサーバとの物理接続確立の最大待ち時間(秒)を指定します。 任意
LONGVARBINARY_Access java.lang.String 「LOCATOR」を指定します。 必須
PreparedStatementPoolSize java.lang.Integer 30×<J2EEサーバ内のデータベースセッションフェイルオーバ機能を使用するWebアプリケーション数>で求められる数値を指定します。 必須
CancelStatement java.lang.Boolean 「true」を指定します。 必須
logLevel java.lang.String DB Connectorが出力するログトレースのレベルについて,任意のレベルを指定します。 任意

(凡例)必須:必ず指定する 任意:必要に応じて設定する


注意
データベースセッションフェイルオーバ機能を使用する場合,次に示すクライアント環境定義を設定すると,正常な運用を続けることができなくなります。デフォルト値のまま使用してください。
  • PDISLLVL(デフォルト値:2)
  • PDFORUPDATEEXLOCK(デフォルト値:NO)
クライアント環境定義の設定については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
(b) Oracleを使用する場合に設定するプロパティ

Oracleを使用する場合に設定するプロパティについて次の表に示します。

表6-47 Oracleを使用する場合に設定するプロパティ

<config-property-name>タグに指定する値 <config-property-type>タグに指定する値 <config-property-value>タグに指定する内容または値 必須/任意
databaseName java.lang.String Oracleサーバ上の特定のデータベース名(SID)を指定します。 必須
serverName java.lang.String Oracleサーバのホスト名またはIPアドレスを指定します。 必須
portNumber java.lang.Integer Oracleのサーバが要求をリスニングするポート番号を指定します。 必須
url java.lang.String Oracle JDBC Thin Driverがデータベースに接続するために必要なJDBC URLを指定します。 必須
loginTimeout java.lang.Integer データベースへの接続試行のタイムアウト(単位:ミリ秒)を指定します。 任意
PreparedStatementPoolSize java.lang.Integer 30×<J2EEサーバ内のデータベースセッションフェイルオーバ機能を使用するWebアプリケーション数>で求められる数値を指定します。 必須
logLevel java.lang.String DB Connectorが出力するログトレースのレベルについて,任意のレベルを指定します。 任意

(凡例) 必須:必ず指定する 任意:必要に応じて設定する

注※ databaseName,serverNameおよびportNumberのすべての値を指定するか,urlの値を指定してください。


(2) <property>タグに指定するプロパティ

<property>タグで設定するプロパティについて次の表に示します。なお,ここで示していないプロパティについては,データベースセッションフェイルオーバ機能に関する設定は不要です。

表6-48 <property>タグに指定するプロパティ

<property-name>タグに指定する値 <property-type>タグに指定する値 <property-default-value>タグの値 <property-value>タグに指定する内容または値 必須/任意
MaxPoolSize int 10 コネクションプールの最大値※1を指定します。 必須
MinPoolSize int 10 コネクションプールの最小値※1を指定します。 必須
LogEnabled boolean true 「true」を指定します。 必須
User※2 String ユーザ名を指定します。 必須
Password String パスワードを指定します。 必須
ValidationType int 1 「1」を指定します。 必須
RetryCount int 0 コネクション取得リトライ回数を指定します。
データベースの設定やネットワーク環境に合わせて,障害発生時にデータベースの回復が有効になるような値を指定してください。
任意
RetryInterval int 10 コネクション取得リトライ間隔を指定します。
データベースの設定やネットワーク環境に合わせて,障害発生時にデータベースの回復が有効になるような値を指定してください。
任意
RequestQueueEnable boolean true 「true」を指定します。 必須※3
RequestQueueTimeout int 30 コネクション枯渇時のコネクション取得待ち行列のとどまることのできる最大値を指定します。※4 必須※3
WatchEnabled boolean true コネクションプール監視を有効にするかどうかを指定します。 任意
WatchInterval int 30 コネクションプール監視間隔を指定します。 任意
WatchThreshold int 80 コネクションプール使用状態を監視するしきい値を指定します。 任意
WatchWriteFileEnabled boolean true 「true」を指定します。 任意

(凡例) 必須:必ず指定する 任意:必要に応じて設定する −:なし


注※1
コネクションプールの値は,次の式で算出します。なお,コネクションプールの最大値と最小値は同じ値にしてください。
Webアプリケーション単位,またはURL単位の同時実行スレッド数を設定した場合
J2EEサーバ内のデータベースセッションフェイルオーバ機能を使用するWebアプリケーションの同時実行数の和+2
J2EEサーバ単位の同時実行スレッド数を設定した場合
J2EEサーバの同時実行スレッド数+2
コネクションプールの最大値を超えてJ2EEサーバがリクエストを受信すると,そのリクエストはコネクション枯渇時のコネクション取得待ち行列で待ち状態となります。

注※2
DB Connectorに設定するユーザには,テーブルの作成者を登録してください。

注※3
Webアプリケーション単位の同時実行スレッド数の制御機能が無効の場合,設定は不要です。

注※4
次に示す範囲で値を指定してください。
Webサーバ連携機能を使用している場合
1 < RequestQueueTimeout <リダイレクタ側で設定するWebコンテナからのデータ受信のタイムアウト
リダイレクタ側で設定するWebコンテナからのデータ受信のタイムアウトとは,ワーカ定義ファイルのworker.<ワーカ名>.receive_timeoutキーに指定した値です。
インプロセスHTTPサーバ機能を使用している場合
1 < RequestQueueTimeout