jdbc/DS1(接続先はデータベースサーバ#1)を親のJDBCデータソース、
jdbc/DS2(接続先はデータベースサーバ#2)を子のJDBCデータソースとしてクラスタ化しています。
データベースサーバ#1に障害が発生し、jdbc/DS1からjdbc/DS2に切り替わった
コネクションプールをデータベースサーバ#1の復旧後、jdbc/DS1に切り戻す手順を
教えてください。
WebOTXの再起動、もしくはドメインの再起動を行う方法と、運用管理コマンド(otxadmin)
を利用する方法があります。
(1)WebOTXの再起動、もしくはドメインの再起動を行う
再起動前の状態を引き継ぐことはなく、親のjdbc/DS1が有効となり、
切り戻すことができます。
(2)運用管理コマンド(otxadmin)を利用する
jdbc/DS1に切り戻す手順は、次の通りです。
1. jdbc/DS2を無効化します
jdbc/DS2のJDBCコネクションは、アプリケーションの処理が終了するまで待ってから切断されます。
otxadmin> login --user admin --password adminadmin
otxadmin> disable-jdbc-datasource jdbc/DS2
2. jdbc/DS1でプール済みのJDBCコネクションを切断します
無効なJDBCコネクションがプールされている場合、jdbc/DS1に切り戻らないため、
jdbc/DS1でプール済みのコネクションを切断します。
otxadmin> login --user admin --password adminadmin
otxadmin> reset-jdbc-datasource jdbc/DS1
3. jdbc/DS1に切り戻す
アプリケーションを呼び出してその延長でJDBCデータソースのgetConnectionを行ってください。
JDBCデータソースの運用操作で、接続テストやコネクションの接続を行っても
クラスタプールの切り替えは行われません。
jdbc/DS1の停止後に、JDBCデータソースのgetConnectionを呼び出すと、
jdbc/DS2が手動でdisableとなっているので、
いったん全てのデータベースに接続できないと判断しますが、
そこで、親のjdbc/DS1に切り替えが発生し、
データベースサーバ#1への接続(切り戻し)が行われます。
4. jdbc/DS2を有効化しておきます
otxadmin> login --user admin --password adminadmin
otxadmin> enable-jdbc-datasource jdbc/DS2
【対象製品】Application Server
【確認済みのバージョン】V8.1以降
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】JDBCデータソース
【カテゴリー】運用/設定