正系ノードにおけるDBミラーリングシステムの運用中に、データベース二重化処理が異常となった場合のリカバリ方法について示します。
異常事象 | 異常事象を通知するモニタデーモンのメッセージ | 異常事象を通知するSymfoware/RDBのメッセージ |
---|---|---|
RLCファイルの交替不可 | - | RDBREPORTにqdg20157w,qdg20080uの異常メッセージを出力 |
BCログ管理ファイルの異常 | - | RDBREPORTにqdg20162u,qdg20165u,qdg20166uの異常メッセージを出力 |
RLP閉塞 | システムログに32021の異常メッセージを出力 | RDBREPORTにqdg20122eの異常メッセージを出力 |
ディスコネクション状態 | システムログに32031の異常メッセージを出力 | RDBREPORTにqdg20154iのメッセージを出力 |
RERUNログを蓄積するRLCの容量が枯渇した場合には、利用者業務の継続は可能ですが、RLCファイルの交替が不可能となり、RLCファイルにRERUNログを蓄積できなくなります。
RLCファイルの交替が不可能になった場合(RLC容量不足)、DBミラーリングシステムは自動的にRLPを閉塞し、RERUNログの取得を停止します。これにより、正系ノードの利用者業務は継続可能となります。なお、RLPが閉塞した場合、データベース二重化処理が継続できないため、副系ノードへの切替えが不可能となります。その場合には、DBミラーリングシステムを緊急停止してから、利用者業務が停止可能な時間帯にDCUの再構築を行う必要があります。
操作の手順
データベースサーバ1の操作
空きRLCファイル個数減少の警告メッセージを確認します。
rdb: WARNING: qdg20157w: 空きRLCが RLC_NOEMP_WARNで定義した値以下になりました RLC個数= 'RLC個数' RLP名='RLP名'
RLC容量不足のメッセージを確認します。
rdb: ERROR: qdg20080u:RLCの容量不足を検出しました RLP名='RLP名'
RLP閉塞を通知するメッセージを確認します。
rdb: ERROR: qdg20122e:RLPを閉塞しました RLP名='RLP名'
dxsvstopコマンドのtermオプションを実行して、DBミラーリングサービスを緊急停止します。
$ dxsvstop -term
DCUの再構築を行います。
データベースサーバ2の操作
dxsvstopコマンドのtermオプションを実行して、DBミラーリングサービスを緊急停止します。
$ dxsvstop -term
DCUの再構築を行います。
アプリケーションサーバの操作
DCUの再構築を行う前に、利用者業務を停止します。
ポイント
RLCの容量が枯渇する例として、副系ノードのダウンや保守作業の長期化により、長期間に渡り副系ノードでのデータベース二重化処理が停止する場合などがあります。そのため、RLCの容量見積りを正しく行ってください。
空きRLCファイル個数減少の警告メッセージは、RLP動作環境ファイルのRLC_NOEMP_WARNの指定によって出力されます。
空きRLCファイル個数減少の警告メッセージが出力された場合、RLC容量不足となる前に原因調査とリカバリを行ってください。RLC容量不足となる前にリカバリが完了した場合は対処不要です。
参照
DCUの再構築については“5.9 DCUの再構築”を参照してください。
BCログ管理ファイルに入出力障害が発生した場合のリカバリ操作の手順を示します。
リカバリ操作は、BCログ管理ファイルの障害が発生したノードのみ実施します。
操作の手順
データベースサーバ1の操作
BCログ管理ファイルのアクセスエラーが発生した場合、メッセージを出力して、BCログ管理ファイルを閉塞します。
rdb: ERROR: qdg20162u:BCログ管理ファイルが閉塞されています
rdb: ERROR: qdg20165u:BCログ管理ファイルの入出力障害を検出しました
rdb: ERROR: qdg20166u:BCログ管理ファイルに異常があります
dxsvstopコマンドのrオプションを実行してDBミラーリングサービスをリカバリ停止します。
$ dxsvstop -r
データベースサーバを停止します。
障害ボリュームを交換します。
rdbbclogコマンドのMオプションおよび、rオプションを実行して、BCログ管理ファイルを再作成します 。
$ rdbbclog -M -r
rdbbcrlpコマンドのAオプションおよび、pオプション、Sオプションを実行して、すべてのロググループごとに、BC ログ管理ファイルに DCUを構成する2つのRLP を再登録します 。
$ rdbbcrlp -A -p 主系RLP名 -S 自側送信用RLMのローデバイス名 $ rdbbcrlp -A -p 従系RLP名 -S 自側送信用RLMのローデバイス名
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
データベースサーバを起動します。
監視プロセスを起動します。
BC管理DBをメモリ常駐します。
dxsvstartコマンドのcオプションを実行して正系ノードのDBミラーリングサービスを開始します。
$ dxsvstart -c
アプリケーションサーバの操作
データベースサーバを停止する前に、利用者業務を停止します。
利用者業務を再開します。
ポイント
BCログ管理ファイルをリカバリした後に、すべてのロググループごとに、DCUを構成する2つのRLPをBCログ管理ファイルに再登録する必要があります。
本手順は、副系ノードで異常が発生した場合も同じです。その場合は、DBミラーリングサービスの停止からDBミラーリングサービス開始までの処理は、副系ノードでの手順で実施してください。
DBミラーリングサービスを緊急停止した場合、または、RLP閉塞が発生している場合は、RLPを再登録した後、両ノードでDCUの再構築が必要です。
参照
データベースサーバの起動および停止については“2.1.2 データベースサーバの起動”および“2.2.4 データベースサーバの停止”を参照してください。
監視プロセスの起動については“2.1.3 監視プロセスの起動”を参照してください。
BC管理DBのメモリ常駐については“2.1.4 BC管理DBのメモリ常駐”を参照してください。
DCUの再構築については“5.9 DCUの再構築”を参照してください。
何らかの原因により、RLPが閉塞した場合のリカバリ方法を示します。
例えば、以下のような場合、データベース二重化処理が継続できなくなり、RLPが閉塞します。
副系ノードのダウンや保守作業の長期化により、長期間にわたって副系ノードでのデータベース二重化処理が停止し、RERUNログを蓄積するRLCの容量が枯渇した場合
RLM、RLCにI/Oエラーが発生した場合
RLPが閉塞した場合は、以下のメッセージを出力します。
複数のRLPで閉塞が発生した場合は、閉塞が発生したRLPごとにメッセージを出力します。
システムログに出力されるメッセージ
SYMFOWARE_SYMDX: ERROR:32021: Inhibition state of RLP was detected. RLP NAME='RLP名'
RDBREPORTに出力されるメッセージ
rdb: ERROR: qdg20122e:RLPを閉塞しました RLP名='RLP名’
RLPが閉塞した場合には、副系ノードへの切替えが不可能となり、利用者業務を停止した後に、DCUの再構築が必要となります。
なお、RLP閉塞となった原因については、出力されたメッセージを参照し、再構築手順内でリカバリも実施してください。
参照
DCUの再構築については“5.9 DCUの再構築”を参照してください。
DBミラーリングシステムの運用で、RLPを配置しているリモートコピー環境の異常や相手先データベースが停止した場合に、ディスコネクション状態になります。
この場合のリカバリ手順を説明します。
ディスコネクション状態が発生すると以下のメッセージが出力されます。
rdb: INFO: qdg20154i:ディスコネクション状態になりました RLP名='RLP名'
DBミラーリングサービスの運用中にディスコネクション状態になった場合の原因の調査方法と対処方法について説明します。
両ノード共通の操作
rdbbcdcuコマンドのVオプションを実行して主系RLPのコネクション状態を確認します。“オンライン・オフライン状態(OnStat) ”が“オンライン(online)”かつ“コネクション状態(ConStat)”が“ディスコネクション状態(disconnection)”の場合、DBミラーリングサービスの運用中にディスコネクション状態となっています。
“RLP名(RLPname)”で表示されたRLP名を確認してください。
$ rdbbcdcu -V
上記で確認したRLP名を指定して、rdbbcrlpコマンドのVオプションおよび、Rオプション、pオプションを実行し、等価性コピーの状態を表示します。
$ rdbbcrlp -V -R -p RLP名
rdbbcrlpコマンドの実行結果より、“ディスコネクション原因(DisconnectCause)”および“等価性コピーの状態(RECStatus)”を確認します。
DisconnectCauseの表示に対するディスコネクションの原因および対処方法の対応を以下に示します。
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のメモリ常駐を行なってください。
参照
DBミラーリングサービスの開始については“2.1.5 DBミラーリングサービスの開始”を参照してください。
Symfoware/RDBの起動については“2.1.2 データベースサーバの起動”を参照してください。
等価性コピーの異常によるディスコネクション状態からのリカバリ手順については“等価性コピーの異常によるディスコネクション状態からのリカバリ”を参照してください。
モニタデーモンの起動については“2.1.1 モニタデーモンの起動”を参照してください。
監視プロセスの起動については“2.1.3 監視プロセスの起動”を参照してください。
BC管理DBのメモリ常駐については“2.1.4 BC管理DBのメモリ常駐”を参照してください。
等価性コピーの異常によるディスコネクション状態からのリカバリ
ACMの等価性コピーの異常が発生し、ディスコネクション状態になった場合のリカバリ方法を説明します。
操作の手順
両ノード共通
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
手順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
・?????
dxsvstopコマンドのrオプションを実行して、DBミラーリングサービスのリカバリ停止を行います。
$ dxsvstop -r
rdbbcconコマンドのpオプションを実行して、コネクション状態にします。
$ rdbbccon -p RLP名
コネクション再開処理完了のメッセージが出力されます。
rdb: INFO: qdg20343i:コネクション再開処理が完了しました RLP名='RLP名'
rdb: INFO: qdg20158i:コネクション状態を確立しました RLP名='RLP名'
rdbbcrlpコマンドのVオプションおよび、Rオプション、pオプションを実行し、等価性コピーの異常のリカバリとコネクション状態を確認します。
$ rdbbcrlp -V -R -p RLP名
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の再構築”を参照してください。