概要
WebOTX Application ServerのJDBCデータソースで
データベースサーバの状態監視オプション[checkServerOption]が
[method](JDBCコネクションを払い出すたびにデータベースサーバの状態を確認) に
設定されており、かつ、データベースサーバで障害が発生し、監視に失敗した場合、
障害発生後、初期プールサイズに満たない本数までしか物理コネクションが復旧しない。
影響のある製品
- WebOTX Application Server Web Edition V6.1~V8.1
- WebOTX Application Server Standard-J Edition V6.1~V8.1
- WebOTX Application Server Standard Edition V6.2~V7.1
- WebOTX Application Server Enterprise Edition V6.2~V7.1
- WebOTX Application Server Express V8.2~V9.4
- WebOTX Application Server Foundation V8.2~V8.5
- WebOTX Application Server Standard V8.2~V9.4
- WebOTX Application Server Enterprise V8.2~V9.4
詳細
WebOTX Application ServerのJDBCデータソースで次の二つの条件を満たす
ときに、障害発生後、本来ならコネクションプールが初期プールサイズ分
復旧するはずのところ、初期プールサイズに満たない本数までしか
物理コネクションが復旧しません。
- データベースサーバの状態監視オプション[checkServerOption]が
[method](DBCコネクションを払い出すたびにデータベースサーバの状態を確認)に
設定されていること
- データベースサーバで障害が発生し、監視に失敗すること
対処方法
本問題については設定の変更で回避可能です。
詳細は回避方法をご確認ください。
なお、本問題を修正したWebOTXのパッチは現在のところございません。
パッチの公開時期は現在検討中です。
急ぎでパッチが必要な場合はご連絡ください。
回避方法
データベースサーバの状態監視オプション[checkServerOption]が
[method](JDBCコネクションを払い出すたびにデータベースサーバの状態を確認)
の場合の不具合ですので、回避方法としましては、
データベースサーバの状態監視オプション[checkServerOption]に
[monitor](定期的にデータベースサーバの状態を確認)を指定して頂くこと、
となります。
なお、この設定変更により、データベース監視がJDBCコネクションを
払い出すたび、ではなく、デフォルトで180秒おきの監視となることから、
監視が行われるまでにコネクションが払い出された場合、その時点では
障害が検出できないという影響がございます。
設定変更手順は次のとおりです。
設定変更手順
1.checkServerOptionをmethodからmonitorに変更します。
運用管理ツールの場合:
[WebOTX管理ドメイン[<ホスト名>]]
-[<ドメイン名>]
-[リソース]
-JDBCデータソース
-[<JNDIサーバへの登録名>] (例:jdbc/Oracle)
の[拡張]タブにて、
[データベースサーバの状態監視オプション]を
「定期的にデータベースサーバの状態を確認」に変更
運用管理コマンドの場合:
otxadmin> login --user admin --password adminadmin
otxadmin> set server.resources.jdbc-datasource.<JNDIサーバへの登録名>.checkServerOption=monitor
2. 設定変更を反映します。
V8.4未満の場合は設定変更後ドメインもしくはプロセスグループの再起動を行ってください。
V8.4以降の場合は、次の設定内容変更の反映を行ってください。
運用管理ツールの場合:
[WebOTX管理ドメイン[<ホスト名>]]
-[<ドメイン名>]
-[リソース]
-JDBCデータソース
-[<JNDIサーバへの登録名>] (例:jdbc/Oracle)
にて「設定変更内容の反映」を実行
運用管理コマンドの場合:
otxadmin> login --user admin --password adminadmin
otxadmin> publish-jdbc-datasource <JNDIサーバへの登録名>
更新履歴