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

5.7.5 データベース二重化処理の異常

正系ノードにおけるDBミラーリングシステムの運用中に、データベース二重化処理が異常となった場合のリカバリ方法について示します。

表5.7 正系ノードにおけるデータベース二重化処理の異常

異常事象

異常事象を通知するモニタデーモンのメッセージ

異常事象を通知するSymfoware/RDBのメッセージ

RLCファイルの交替不可

RDBREPORTにqdg20157w,qdg20080uの異常メッセージを出力

BCログ管理ファイルの異常

RDBREPORTにqdg20162u,qdg20165u,qdg20166uの異常メッセージを出力

RLP閉塞

システムログに32021の異常メッセージを出力

RDBREPORTにqdg20122eの異常メッセージを出力

ディスコネクション状態

システムログに32031の異常メッセージを出力

RDBREPORTにqdg20154iのメッセージを出力

5.7.5.1 RLCファイルの交替不可

RERUNログを蓄積するRLCの容量が枯渇した場合には、利用者業務の継続は可能ですが、RLCファイルの交替が不可能となり、RLCファイルにRERUNログを蓄積できなくなります。

RLCファイルの交替が不可能になった場合(RLC容量不足)、DBミラーリングシステムは自動的にRLPを閉塞し、RERUNログの取得を停止します。これにより、正系ノードの利用者業務は継続可能となります。なお、RLPが閉塞した場合、データベース二重化処理が継続できないため、副系ノードへの切替えが不可能となります。その場合には、DBミラーリングシステムを緊急停止してから、利用者業務が停止可能な時間帯にDCUの再構築を行う必要があります。

操作の手順

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

  1. 空きRLCファイル個数減少の警告メッセージを確認します。

    rdb: WARNING: qdg20157w: 空きRLCが RLC_NOEMP_WARNで定義した値以下になりました RLC個数= 'RLC個数' RLP名='RLP名'
  2. RLC容量不足のメッセージを確認します。

    rdb: ERROR: qdg20080u:RLCの容量不足を検出しました RLP名='RLP名'
  3. RLP閉塞を通知するメッセージを確認します。

    rdb: ERROR: qdg20122e:RLPを閉塞しました RLP名='RLP名'
  4. dxsvstopコマンドのtermオプションを実行して、DBミラーリングサービスを緊急停止します。

    $ dxsvstop -term
  5. DCUの再構築を行います。

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

  1. dxsvstopコマンドのtermオプションを実行して、DBミラーリングサービスを緊急停止します。

    $ dxsvstop -term
  2. DCUの再構築を行います。

アプリケーションサーバの操作

  1. DCUの再構築を行う前に、利用者業務を停止します。

ポイント

  • RLCの容量が枯渇する例として、副系ノードのダウンや保守作業の長期化により、長期間に渡り副系ノードでのデータベース二重化処理が停止する場合などがあります。そのため、RLCの容量見積りを正しく行ってください。

  • 空きRLCファイル個数減少の警告メッセージは、RLP動作環境ファイルのRLC_NOEMP_WARNの指定によって出力されます。

  • 空きRLCファイル個数減少の警告メッセージが出力された場合、RLC容量不足となる前に原因調査とリカバリを行ってください。RLC容量不足となる前にリカバリが完了した場合は対処不要です。

参照

DCUの再構築については“5.9 DCUの再構築”を参照してください。

5.7.5.2 BCログ管理ファイルの異常

BCログ管理ファイルに入出力障害が発生した場合のリカバリ操作の手順を示します。

リカバリ操作は、BCログ管理ファイルの障害が発生したノードのみ実施します。

操作の手順

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

  1. BCログ管理ファイルのアクセスエラーが発生した場合、メッセージを出力して、BCログ管理ファイルを閉塞します。

    rdb: ERROR: qdg20162u:BCログ管理ファイルが閉塞されています
    rdb: ERROR: qdg20165u:BCログ管理ファイルの入出力障害を検出しました
    rdb: ERROR: qdg20166u:BCログ管理ファイルに異常があります
  2. dxsvstopコマンドのrオプションを実行してDBミラーリングサービスをリカバリ停止します。

    $ dxsvstop -r
  3. データベースサーバを停止します。

  4. 障害ボリュームを交換します。

  5. rdbbclogコマンドのMオプションおよび、rオプションを実行して、BCログ管理ファイルを再作成します 。

    $ rdbbclog -M -r
  6. rdbbcrlpコマンドのAオプションおよび、pオプション、Sオプションを実行して、すべてのロググループごとに、BC ログ管理ファイルに DCUを構成する2つのRLP を再登録します 。

    $ rdbbcrlp -A -p 主系RLP名 -S 自側送信用RLMのローデバイス名
    $ rdbbcrlp -A -p 従系RLP名 -S 自側送信用RLMのローデバイス名
  7. rdbbcdcuコマンドのVオプションおよび、bオプションを実行してDCUの運用情報を表示し、すべてのロググループごとに、DCUを構成する2つのRLPが正常に登録されたことを確認します。

    $ rdbbcdcu -V -b
    
    LogGroup             : system
    RLCbuffNum           : -
    RLCbuffSize          : -
    RLCnum               : 3
    RLCsize              : 10240K
    RLPid  RLPname  Kind       OnMode   OnStat       RLPstat       InhCause   ConStat        DisConCause
        1  rlp001   origin     capture  online       normal        -          disconnection  own-stop
        2  rlp002   duplicate  init     standby      normal        -          disconnection  own-stop
  8. データベースサーバを起動します。

  9. 監視プロセスを起動します。

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

  11. dxsvstartコマンドのcオプションを実行して正系ノードのDBミラーリングサービスを開始します。

    $ dxsvstart -c

アプリケーションサーバの操作

  1. データベースサーバを停止する前に、利用者業務を停止します。

  2. 利用者業務を再開します。

ポイント

  • BCログ管理ファイルをリカバリした後に、すべてのロググループごとに、DCUを構成する2つのRLPをBCログ管理ファイルに再登録する必要があります。

  • 本手順は、副系ノードで異常が発生した場合も同じです。その場合は、DBミラーリングサービスの停止からDBミラーリングサービス開始までの処理は、副系ノードでの手順で実施してください。

  • DBミラーリングサービスを緊急停止した場合、または、RLP閉塞が発生している場合は、RLPを再登録した後、両ノードでDCUの再構築が必要です。

参照

5.7.5.3 RLP閉塞

何らかの原因により、RLPが閉塞した場合のリカバリ方法を示します。

例えば、以下のような場合、データベース二重化処理が継続できなくなり、RLPが閉塞します。

RLPが閉塞した場合は、以下のメッセージを出力します。
複数のRLPで閉塞が発生した場合は、閉塞が発生したRLPごとにメッセージを出力します。

RLPが閉塞した場合には、副系ノードへの切替えが不可能となり、利用者業務を停止した後に、DCUの再構築が必要となります。
なお、RLP閉塞となった原因については、出力されたメッセージを参照し、再構築手順内でリカバリも実施してください。

参照

DCUの再構築については“5.9 DCUの再構築”を参照してください。

5.7.5.4 ディスコネクション状態からのリカバリ

DBミラーリングシステムの運用で、RLPを配置しているリモートコピー環境の異常や相手先データベースが停止した場合に、ディスコネクション状態になります。

この場合のリカバリ手順を説明します。

ディスコネクション状態の確認

ディスコネクション状態が発生すると以下のメッセージが出力されます。

rdb: INFO: qdg20154i:ディスコネクション状態になりました RLP名='RLP名'

ディスコネクション状態の原因調査と対処

DBミラーリングサービスの運用中にディスコネクション状態になった場合の原因の調査方法と対処方法について説明します。

両ノード共通の操作

  1. rdbbcdcuコマンドのVオプションを実行して主系RLPのコネクション状態を確認します。“オンライン・オフライン状態(OnStat) ”が“オンライン(online)”かつ“コネクション状態(ConStat)”が“ディスコネクション状態(disconnection)”の場合、DBミラーリングサービスの運用中にディスコネクション状態となっています。
    “RLP名(RLPname)”で表示されたRLP名を確認してください。

    $ rdbbcdcu -V
  2. 上記で確認したRLP名を指定して、rdbbcrlpコマンドのVオプションおよび、Rオプション、pオプションを実行し、等価性コピーの状態を表示します。

    $ rdbbcrlp -V -R -p RLP名
  3. rdbbcrlpコマンドの実行結果より、“ディスコネクション原因(DisconnectCause)”および“等価性コピーの状態(RECStatus)”を確認します。
    DisconnectCauseの表示に対するディスコネクションの原因および対処方法の対応を以下に示します。

    表5.8 ディスコネクションの原因と対処方法

    DisconnectCauseの表示

    原因

    対処方法

    -

    相手ノードのDBミラーリングサービスが開始未

    相手ノードのDBミラーリングサービスの開始

    other-down

    相手ノードのSymfoware/RDB の停止中(注)

    相手ノードのSymfoware/RDBの起動

    own-stop

    自ノードのSymfoware/RDBの停止中

    自ノードのSymfoware/RDBの起動

    acm-error

    ACMの等価性コピーの異常

    等価性コピーの異常によるディスコネクション状態からのリカバリ

    注) ディスコネクション原因が相手ノードのダウンの場合は、相手ノードのダウンから約10分後にディスコネクション状態およびディスコネクション原因が表示されます。
    “等価性コピーの状態(RECStatus)”で等価性コピーの異常が発生している場合は、等価性コピーの異常によるディスコネクション状態からのリカバリ手順で対処してください。

ポイント

  • 表5.8 ディスコネクションの原因と対処方法”で“原因”が“相手ノードのDBミラーリングサービスが開始未”、“相手ノードのSymfoware/RDB の停止中”、“自ノードのSymfoware/RDBの停止中”の場合、それぞれ“対処方法”で記載しているとおり、DBミラーリングサービスおよびSymfoware/RDBを起動することでディスコネクション状態が解消されます。

  • 表5.8 ディスコネクションの原因と対処方法”で“原因”が“ACMの等価性コピーの異常”の場合は、等価性コピーの異常によるディスコネクション状態からのリカバリ手順で対処してください。

  • ディスコネクション状態の対処としてDBミラーリングサービスを開始する場合には、あらかじめモニタデーモンおよびSymfoware/RDBを起動しておく必要があります。また、Symfoware/RDBを起動した場合には、監視プロセスの起動、BC管理DBのメモリ常駐を行なってください。

  • ディスコネクション状態の対処としてSymfoware/RDBを起動する場合には、あらかじめモニタデーモンを起動しておく必要があります。また、Symfoware/RDBを起動した場合には、監視プロセスの起動、BC管理DBのメモリ常駐を行なってください。

参照

等価性コピーの異常によるディスコネクション状態からのリカバリ

ACMの等価性コピーの異常が発生し、ディスコネクション状態になった場合のリカバリ方法を説明します。

操作の手順の操作

両ノード共通

  1. rdbbcdcuコマンドのVオプションを実行して状態を確認します。“オンライン・オフライン状態(OnStat)”が“オンライン(online)”かつ“コネクション状態(ConStat)”が“ディスコネクション状態(disconnection)”の場合、“RLP名(RLPname)”で表示されたRLP名を確認します。
    “オンライン・オフライン状態(OnStat)”が“休止オフライン(suspend)”の場合は、Symfoware/RDBの起動またはDBミラーリングサービスの開始を実施してください。

    表示例
    $ rdbbcdcu -V
    
    LogGroup             : system
    RLCbuffNum           : 128
    RLCbuffSize          : 2K
    RLCnum               : 3
    RLCsize              : 10240K
    RLPid  RLPname  Kind       OnMode   OnStat        RLPstat      InhCause  ConStat        DisConCause
        1  rlp001   origin     capture  online        normal       -         disconnection  acm-error
  2. 手順1 で確認したRLP名を指定して、rdbbcrlpコマンドのVオプションおよび、Rオプション、pオプションを実行してRLPの等価性コピーの状態を表示します。“コネクション状態(Connection)”が“ディスコネクション状態(disconnection)”で、“ディスコネクション原因(DisconnectCause)”が“ACMの異常(acm-error)”、または“ACMのswsrpstatコマンドの結果(Stat)”が等価性コピーの異常を示していることを確認します。

    表示例
    $ rdbbcrlp -V -R -p rlp001
    
    RLPname              : rlp001
    Connection           : disconnection
    DisconnectCause      : acm-error
    
    Id      RECstatus    Stat        OwnPath      OtherPath
    RLM-S   abnormal     halt        /dev/blockdev1@SRC-SV  /dev/blockdev2@TARG-SV
    RLM-R   abnormal     halt        /dev/blockdev2@SRC-SV  /dev/blockdev1@TARG-SV
    rlc001  abnormal     halt        /dev/blockdev3@SRC-SV  /dev/blockdev3@TARG-SV
    rlc002  abnormal     halt        /dev/blockdev4@SRC-SV  /dev/blockdev4@TARG-SV
    rlc003  abnormal     halt        /dev/blockdev5@SRC-SV  /dev/blockdev5@TARG-SV

    “ACMのswsrpstatコマンドの結果(Stat)”として以下のいずれかが表示されている場合は、ACMに異常が発生していることが考えられます。
    ACMのマニュアルを参照して異常原因の調査とリカバリを行ってください。
    ・halt
    ・failed
    ・?????

  3. dxsvstopコマンドのrオプションを実行して、DBミラーリングサービスのリカバリ停止を行います。

    $ dxsvstop -r
  4. rdbbcconコマンドのpオプションを実行して、コネクション状態にします。

    $ rdbbccon -p RLP名

    コネクション再開処理完了のメッセージが出力されます。

    rdb: INFO: qdg20343i:コネクション再開処理が完了しました RLP名='RLP名'
    コネクション再開のメッセージ例
    rdb: INFO: qdg20158i:コネクション状態を確立しました RLP名='RLP名'
  5. rdbbcrlpコマンドのVオプションおよび、Rオプション、pオプションを実行し、等価性コピーの異常のリカバリとコネクション状態を確認します。

    $ rdbbcrlp -V -R -p RLP名
  6. dxsvstartコマンドの cオプションまたはrオプションを実行して(本リカバリ操作前と同じモードで実行します)、DBミラーリングサービスを開始します。

    [正系ノードの場合]
    $ dxsvstart -c
    [副系ノードの場合]
    $ dxsvstart -r

ポイント

  • コネクション状態を確認してから、利用者業務を開始してください。

  • 利用者業務開始後にディスコネクション状態になり、そのまま利用者業務を継続すると、空きのRLCファイルがなくなり、RLPが閉塞します。RLPが閉塞した場合、DCUの再構築が必要になるため、ディスコネクション状態の発生時には、早急に対処するようにしてください。

  • ノード切替えが動作すると、ノード切替えを行うためにSymfoware/RDBが停止状態になるため、ディスコネクション状態になります。このとき、ディスコネクション状態の対処は不要です。
    例えば、正系ノードのデータベースがダウンなどで停止すると、通常は副系ノードのデータベースに切替えます。このとき、ディスコネクション状態になります。
    なお、副系ノードのデータベースが切替え不可な場合に、正系ノードのデータベースのダウンが発生すると、正系ノードのデータベースを再起動して利用者業務を継続します。このときディスコネクション状態になりますが、副系ノードへの切替え不可の原因を取り除き、正系ノードのデータベースを再起動することにより、ディスコネクション状態は自動的にリカバリされます。

参照

  • ACMについては“ETERNUS SF AdvancedCopy Manager 運用手引書”または“ETERNUS SF AdvancedCopy Manager 運用ガイド”を参照してください。

  • DCUの再構築については“5.9 DCUの再構築”を参照してください。