1)domainのjdbc/OracleにJDBC URLにOracle起動サーバ(以下、DBサーバ)を指定
2)WebOTXのdomainを起動してDBサーバに接続
3)DBサーバをシャットダウン
上記の状態で、DBサーバに参照要求した場合のWebOTXの挙動を教えてください。
本番の運用では、Webコンテナスレッド数が上限値に到達しました。
JDBCデータソースには、データベースサーバの障害を検出するためのデータベースサーバの状態監視オプション[checkServerOption]があります。この設定を利用しない場合、JDBCデータソースで障害を検出できるかどうかはJDBCドライバ次第になります。
障害が検出されると、コネクションの一括破棄可否[resetAllConnectionsOnFailure]の設定に応じて、対象のJDBCコネクションを破棄します。その後、接続要求があると新規接続を試みます。その間、障害検出や接続リトライに時間がかかる可能性があります。
必要に応じて、JDBCデータソースのログインタイムアウト[loginTimeout]や接続リトライ回数[connectRetryMax]、接続リトライ間隔[connectRetryInterval]の設定をカスタマイズしてください。または次のマニュアルを参考にして、OSの設定をチューニングすることをご検討ください。
V6~V8.2 [運用編 > チューニング > 通信に関するチューニング > TCP/IPに関する設定について]
V8.3~V9 [高度な管理と運用サイクルガイド > チューニング > 通信 > TCP/IPに関する設定]
V10以降 [構築・運用 > チューニング > > 通信 > TCP/IPに関する設定]
障害を復旧するための方法としては、ほかに、データベースサーバを停止する際に、業務の運用をいったん止めて、次のJDBCコネクションの一括破棄操作を行なってから業務を再開して頂く方法もあります。
otxadmin> login --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <対象ドメインの管理ポート>
otxadmin> reset-all-jdbc-datasources
ただし、アプリケーションでJDBCコネクションを掴んだままになる場合には、これらの方法で障害を復旧することができません。その場合は、WebOTXやプロセスグループを再起動することで復旧してください。
【対象製品】Application Server
【確認済みのバージョン】V6以降
【確認済みのエディション】 すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】JDBCデータソース
【カテゴリー】運用/設定