ページの先頭行へ戻る
Symfoware Server V12.7.0 データベース二重化導入運用ガイド
FUJITSU Software

8.4.5 ノード切替えの注意事項

ノード切替えの注意事項を説明します。

8.4.5.1 ノード切替え中のデータベースへのアクセス

ノード切替えを開始してから完了するまでの間はデータベースへのアクセスはできません。
ノード切替え中は、データベースへのSQLやRDBコマンドの操作を実行しないでください。

8.4.5.2 ノード間の監視異常によるノード切替え

ノードの生存監視は、正系ノードと副系ノード間のネットワークを利用して実現しているため、ネットワーク障害が発生した場合でもノード間の監視異常として検知することがあります。

DBミラーリングシステムがノードの生存監視の異常を認識すると、以下のメッセージをイベントログに出力し、利用者判断を促します。

32031: ノード間の通信環境(IPアドレスまたはホスト名)に異常が発生しました 相手ノードとの通信が切断されました

このメッセージが出力された場合、利用者は正系ノードのデータベースの状態を調査して、以下のいずれかの対処を行ってください。

自動ノード切替えを行う場合の異常検知

Mirroring Controllerを利用している場合で、ノード間通信異常時の自動ノード切替えを行うときに異常を検知した際は、両ノードの動作状態により、DBミラーリングシステムが以下のいずれかを行います。

ポイント

dxaccumコマンドを実行すると、副系ノードをリカバリするまでの間、RERUNログは正系ノードに蓄積されます。

参照

ノード間通信異常時の自動ノード切替えについては、 “C.5.1 ノード間通信異常時の自動ノード切替え”を参照してください。

8.4.5.3 通信環境異常時のノード切替え

ノード間の通信環境が異常となった場合は、以下を実施できません。

このような場合、以下の方法でノード切替えを実施することで利用者業務を継続してください。

DBミラーリングシステムでは、ノード間の通信環境の異常を検知すると、副系ノードに以下のメッセージを出力します。この場合、正系ノードのデータベースの状態を確認し、データベースが正常な場合、早急にノード間の通信環境をリカバリしてください。
データベースに異常が発生している場合は、正系ノードのデータベースを停止した後で、副系ノードからdxswitchコマンドのnオプションを実行することで、強制ノード切替えを行うことができます。

注意

RERUNログが蓄積状態の時に、dxswitchコマンドのnオプションを実行すると蓄積中のRERUNログを反映せずに強制ノード切替えを行います。

ポイント

正系ノードのOSやハードに無応答などの異常が発生し、正系ノードの状態が確認できない場合や、Symfoware/RDBの強制停止ができない場合も、正系ノードのシャットダウンなどを行いdxswitchコマンドのnオプションを実行することでノード切替えが可能です。

参照

ノード間通信異常時の自動ノード切替えについては、 “C.5.1 ノード間通信異常時の自動ノード切替え”を参照してください。

8.4.5.4 計画切替えまたは保守でのノード切替え

計画的にノードを切り替える場合や正系ノードと副系ノードの保守を交互に行う場合、DBミラーリングサービスの通常停止は、Symfoware/RDBを停止せずにノードを切り替えます。この場合は、アプリケーションサーバの操作として以下の点に注意してください。

DBミラーリングサービスの通常停止にオプションを省略したdxsvstopコマンドを使用する場合

DBミラーリングサービスの通常停止にmcオプションを指定したdxsvstopコマンドを使用する場合

DBミラーリングサービスの通常停止中に業務アプリケーションのコネクションが強制切断されます。強制停止されたコネクションは、ノードの切替え後に再開してください。

参照

8.4.5.5 DBミラーリングシステム資源異常時のノード切替え

DBミラーリングシステムの資源の異常によって、次のいずれかの事象が発生することがあります。

上記の場合には、以下のノード切替えができません。

業務の継続を最優先するためにノードを切替える場合は、forceオプションを指定したdxswitchコマンドによる強制ノード切替えを実行してください。

注意

forceオプションを指定したdxswitchコマンドの実行によるノード切替えを実施した場合、正系ノードから副系ノードにすべてのRERUNログが反映されず、一部データロストが発生している可能性があります。この場合は、旧正系ノードをリカバリした後で、データの調査を行ってください。

8.4.5.6 DSIの初期化中のノード切替え

DSIの初期化処理中にノード切替えを実施する場合の注意事項を説明します。

参照

DBミラーリングサービス運用中のDSIの初期化については“10.4.3 DBミラーリングサービス運用中のDSIの初期化”を参照してください。

DSI初期化中のノード切替えへの考慮

以下の条件下でのDSIの初期化処理には、割付け量に依存した処理時間が必要です。このため、DSIの初期化中にノード切替えが行われると、ノード切替えに時間を要します。ノード切替えがタイムアウトとなりノード切替えが失敗する場合があります。

割付け量に依存した処理時間が必要となる条件

DSIの初期化中にRERUNログの反映遅延を通知するエラーメッセージが出力されたときはノード切替えが中断します。この場合は、DSIの初期化完了を通知するメッセージを確認してから、いったん、DBミラーリングサービスのリカバリ停止し、DBミラーリングサービスを開始することで、ノード切替えを再開させてください。

ポイント

表のDSI定義やインデックスのDSI定義を行った直後にDSIの初期化を行う場合には、DBミラーリングサービスが停止している状態で、定義操作を行った後に続けて両ノードでrdbfmtコマンドを実行してください。

DSI初期化中にノード切替えわれた場合の対処

DSIの初期化中に、異常発生などによりノード切替えが行われた場合は、旧正系ノードでノード組込みを実施した後、Symfoware/RDBの起動、DSIの初期化を行ったデータベースのリカバリを実施して、DBミラーリングサービスを再開してください。

なお、DSIの初期化中にSymfoware/RDBが停止した場合には、ダウンリカバリの異常が原因で該当DSIがアクセス禁止状態となる場合があります。

操作の手順

データベースサーバ1の操作

  1. モニタデーモンを起動します。

    > dxstart
  2. dxrebuildコマンドを実行して、ノード組込みを行います。

    > dxrebuild
  3. データベースサーバを起動します。

  4. BC管理DBのメモリ常駐をします。

  5. ダウンリカバリの異常が原因のアクセス禁止状態となったDSIをリカバリします。

  6. 副系ノードのDBミラーリングサービスを再開します。

    > dxsvstart -r

データベースサーバ2の操作

  1. rdbinfコマンドまたはRDBREPORTに出力されたメッセージによりDSIの初期化状態を確認します。

    qdg20748i:RERUNログ反映によるDSIの初期化が完了しました DSI名='DB名.DSI名' RLP名='RLP名'
  2. DSIの初期化が確認できなかった場合は、rdbfmtコマンドの実行によりDSIを初期化します。

参照

  • ノード組込みについては“8.5 ノード組込み”を参照してください。

  • データベースサーバの起動については“8.1.2 データベースサーバの起動”を参照してください。

  • 監視プロセスの起動については、“Connection Manager ユーザーズガイド”を参照してください。

  • アプリケーション接続環境の開設プロシジャについては“RDB運用ガイド”を参照してください。

  • BC管理DBのメモリ常駐については“8.1.3 BC管理DBのメモリ常駐”を参照してください。

  • アクセス禁止状態となったDSIをリカバリ方法については“11.4.2 データベースの異常”を参照してください。

  • rdbinfコマンドおよびrdbfmtコマンドの詳細については“コマンドリファレンス”を参照してください。