ページの先頭行へ戻る
Symfoware Server V11.0.0 Mirroring Controller運用ガイド
Symfoware

5.5.2 ノード切替え途中での異常事象の発生

副系ノードへの切替え途中で異常が発生した場合には、以下のメッセージをシステムログに出力します。

SYMFOWARE_SYMDX: INFO: 12131: Starting to switch from the secondary node to the primary node.
SYMFOWARE_SYMDX: ERROR: 32120: The switch operation cannot be executed because the secondary node is abnormal.

ノードの切替え途中で異常が発生した場合、利用者業務が完全に停止します。このため、副系ノードをリカバリ停止してから、エラー原因を取り除き、DBミラーリングサービスを再開して業務を開始してください。

注意

モニタデーモンが停止するようなノードダウン事象の場合には、メッセージを出力することができません。

操作の手順

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

  1. DBミラーリングシステムがノードの切替え開始を通知するメッセージを出力します。

    SYMFOWARE_SYMDX: ERROR: 12131: Starting to switch from the secondary node to the primary node.
  2. DBミラーリングシステムがノードの切替え不可を通知するメッセージを出力します。

    SYMFOWARE_SYMDX: ERROR: 32120: The switch operation cannot be executed because the secondary node is abnormal.
  3. システムログから、Symfoware/RDBやDBミラーリングシステムの異常を通知するメッセージを確認し、異常原因の調査をします。
    DBミラーリングシステムの異常を通知するメッセージで以下のメッセージが表示されている場合は、下記の内容を参考に判断してください。

    SYMFOWARE_SYMDX: ERROR: 32040: The reflection processing of the RERUN log has been delayed.

    rdbbcpfmのrオプション、およびpオプションを実行し、RERUNログ反映処理が遅延した原因を判断します。

    • RERUNログ反映のコミット順序の保証単位にDSIを選択した場合の表示例

      $ rdbbcpfm -r -p rlp001
      
      RDBII rdbbcpfm DATE:2012/02/02 TIME:11/51/27
      RLPname     RefCmdTime  RefDaemonNum EmptyTime  StdbyTime   MaxStdbyTime
                  RefFileNum  CapTrnNum   StdbyDsiNum
      IDTcode     RefTime     ReqTrnNum   NoCommitNum RefTrnNum   ChgDsiNum
                  RecNum      RecSize(k)  FmtDsiNum   FmtDsiTime
      
      rlp001          10:892           2       9:893      16:376       7:214
                           1         140           4
               1       9:953         186         181           6           4
                        5610        1114           3       1:315
               2       9:857         185         182           3           2
                        5596        1111           5       2:483

    EmptyTime、StdbyTime、およびMaxStdbyTimeの値を確認します。値が大きい場合は、RERUNログ反映処理が遅延している可能性があります。値が小さい場合は、RERUNログが大量に蓄積されている可能性があります。

    • RERUNログ反映のコミット順序の保証単位にロググループを選択した場合の表示例

      $ rdbbcpfm -r -p rlp001
      
      RDBII rdbbcpfm DATE:2012/06/20 TIME:09/20/02
      
      RLPname     RefCmdTime  RefDaemonNum  RefFileNum CapTrnNum   StdbyTrnNum
                  StdbyTime   MaxStdbyTime  DsiOrdTime
      IDTcode     RefTime     ReqTrnNum   NoCommitNum  RefTrnNum   RecNum
                  RecSize(k)  FmtDsiNum   FmtDsiTime
      
      rlp001          11:167           1           1         200         199
                           -       2:827           -
               1      11:159         200         133          67       20000
                        2460           6       0:176

    StdbyTime、およびMaxStdbyTimeの値を確認します。値が大きい場合は、RERUNログ反映処理が遅延している可能性があります。値が小さい場合は、RERUNログが大量に蓄積されている可能性があります。

  4. dxsvstopコマンドを実行して、DBミラーリングサービスを停止します。
    異常原因の対処方法により、以下のいずれかを実施します。

    • Symfoware/RDBの停止が不要な場合、またはRERUNログが大量に蓄積されている場合は、DBミラーリングサービスのリカバリ停止を実施します。

      $ dxsvstop -r
    • Symfoware/RDBの停止が必要な場合、またはRERUNログ反映処理が遅延している場合は、DBミラーリングサービスの保守停止を実施します。

      $ dxsvstop -m
  5. メッセージから異常原因の対処を行います。

    • RERUNログが大量に蓄積されている場合は、DBミラーリングサービスの起動時に自動的に反映処理が再開されるため、ここでの対処は不要です。

    • RERUNログ反映処理が遅延している場合は、RERUNログ反映性能のチューニングを行います。

  6. dxinfコマンドのsオプションを実行して、ノード状態を確認します。

    $ dxinf -s
  7. dxsvstartコマンドを実行して、DBミラーリングサービスを開始します。

    dxinfコマンドで確認したノード状態が“C”(正系)または“S”(昇格正系)の場合
    $ dxsvstart -c
    dxinfコマンドで確認したノード状態が“R”(副系)または“N”(ノード未定)の場合
    $ dxsvstart -r

注意

  • RLP閉塞などDCUの再構築が必要な異常原因の場合は、DBミラーリングサービスをリカバリ停止せずにdxswitchコマンドのforceオプションを実行してノードを切り替えてください。

  • RERUNログ反映処理が遅延している場合、業務の再開までに時間がかかる場合があります。RERUNログ反映処理の完了を待たずに業務を再開する場合は、DBミラーリングサービスをリカバリ停止せずにdxswitchコマンドのforceオプションを実行してノードを切り替えてください。

  • dxsvstartコマンドの実行後、再びRERUNログ反映処理の遅延で異常終了した場合は、以下のいずれかの対処を行ってください。

    • RERUNログ反映処理が完了するのを待ってから業務を再開する場合は、dxsvstartコマンドが正常完了するまで繰り返し実行してください。

    • RERUNログ反映処理が完了するのを待たずに業務を再開する場合は、以下の両方のコマンドを実行してください。

      1. dxsvstopコマンドのtermオプション

      2. dxsvstopコマンドのtermオプション、およびcオプション

  • dxswitchコマンドのforceオプション、およびdxsvstopコマンドのtermオプションを実行した場合は、データベース二重化を再開する際に、DCUの再構築が必要となります。

参照