Symfoware Server Mirroring Controller 運用ガイド |
目次
索引
![]() ![]() |
第5章 異常時の運用 | > 5.9 副系ノードでのDBミラーリングシステムの異常 | > 5.9.6 データベースの二重化処理の異常 |
ログ破棄機能は、以下の場合に利用します。以降ではログ破棄を利用したリカバリについて説明します。
データベースの二重化処理でエラーが発生している状態でDBミラーリングサービスの通常停止が必要な場合
データベースの二重化処理でエラーが発生した場合のリカバリ処理で、リカバリを行うためにDBミラーリングサービスの通常停止または全件複写が必要だが、すぐには正系の利用者業務が停止できないため、停止可能になるまでDBミラーリングシステムの運用を継続する場合
Symfoware Serverのrdbinhコマンドにより、表のDSIを閉塞し、ログ破棄機能を利用することで、任意の資源へのRERUNログを破棄することも可能です。
ログ破棄が可能なデータベースの二重化処理のエラー原因を以下に示します。
エラー原因 |
メッセージID |
考えられる原因 |
リカバリ方法 |
---|---|---|---|
RERUNログレコード不整合 |
qdg20178u:データベース内でデータの不整合を検出しました |
ノード間のデータベースのデータが不一致 |
全件複写 |
データベース定義不整合 |
qdg20180u:データベース内で定義の不整合を検出しました |
データベースの定義および変更操作の不一致 |
表定義の再作成および全件複写 |
表定義の不一致 |
|||
qdg20186u:反映に必要なインデックスが存在しません |
インデックスのDSO未定義 |
||
qdg20187u:表のDSIに対応するインデックスのDSIが定義されていません |
インデックスのDSI未定義 |
||
未フォーマット |
qdg20179u:初期化または創成が行われていません |
表のDSI未フォーマット |
|
インデックスのDSI未フォーマット |
|||
反映対象資源のアクセス異常 |
qdg20188u:アクセス禁止状態のため動作できません |
表のDSIの閉塞 |
メディアリカバリおよび全件複写 |
データベース定義の関連付け未定義 |
qdg20183u:データベース定義の関連付けが行われていません |
資源識別子の未登録 |
資源識別子の関連付けおよび全件複写 |
ログ破棄を利用する場合は、RLP動作環境ファイルのREF_LOG_PURGEパラメタを編集します。
REF_LOG_PURGEパラメタの指定値は、リカバリ方法によって決定します。
リカバリ方法 |
REF_LOG_PURGEパラメタの設定値 |
すでにREF_LOG_PURGEパラメタが指定されている場合の設定値 |
---|---|---|
全件複写 |
DSI |
既にREF_LOG_PURGE = MAPが指定されている場合はALLを設定してください。 |
表定義の再作成および全件複写 |
DSI |
|
メディアリカバリ |
DSI |
|
資源識別子の関連付け |
MAP |
既にREF_LOG_PURGE = DSIが指定されている場合はALLを設定してください。 |
REF_LOG_PURGEパラメタの変更は、以下の手順で実施してください。
DBミラーリングサービスの保守停止
主系RLPのRLP動作環境ファイルの編集
DBミラーリングサービスを開始
RLP動作環境ファイルのREF_LOG_PURGEパラメタの詳細については“セットアップガイド”の“DBミラーリングシステムの環境設定”を参照してください。
DBミラーリングサービスの保守停止については“DBミラーリングサービスの保守停止”を参照してください。
RLP動作環境ファイルの編集については“セットアップガイド”の“RLP動作環境ファイルの編集”を参照してください。
DBミラーリングサービスを開始については“DBミラーリングサービスの開始”を参照してください。
REF_LOG_PURGEパラメタを有効にしてDBミラーリングサービスを開始すると、DBミラーリングシステムがデータベースの二重化処理を実行します。このとき、データベースの二重化処理では、表のDSIが閉塞となっている資源、または資源の関連付けが未実施でデータベースへの反映が不可能なRERUNログのみを破棄し、データベースの二重化処理を続行します。RERUNログを破棄すると、以下のメッセージが出力されます。
REF_LOG_PURGE=DSI指定時
rdb: INFO: qdg20172i:ログ破棄オプションに従ってRERUNログを破棄しました 表のDSI名='表のDSI名' RLP名='RLP名' |
REF_LOG_PURGE=MAP指定時
rdb: INFO: qdg20173i:ログ破棄オプションに従ってRERUNログを破棄しました 資源種別='資源種別' 複写元資源識別子='複写元資源識別子' RLP名='RLP名' |
RERUNログを破棄した資源が複数ある場合、メッセージも複数出力されます。
ログ破棄の実施後に、同様の異常を検知した場合は、REF_LOG_PURGEパラメタに設定したログ破棄指示に従ってログ破棄を継続します。
REF_LOG_PURGEパラメタにDSI、またはALL指定時は、データベースの二重化処理において、表のDSIが閉塞している資源に対するRERUNログが破棄されます。
REF_LOG_PURGEパラメタにMAP、またはALL指定時は、データベースの二重化処理において、資源識別子を登録していない資源すべてのRERUNログが破棄されます。
ログ破棄を利用した後、リカバリが完了してDBミラーリングサービスを開始する前に、必ずログ破棄を解除する必要があります。
ログ破棄の解除は、RLP動作環境ファイルのREF_LOG_PURGEパラメタを編集します。
REF_LOG_PURGE = NONE |
REF_LOG_PURGEパラメタの変更は、DBミラーリングサービスが通常停止状態で行います。
REF_LOG_PURGEパラメタの変更は、主系RLPのRLP動作環境ファイルで行います。
REF_LOG_PURGEパラメタの変更は、DBミラーリングサービスを開始すると有効となります。
RLP動作環境ファイルのREF_LOG_PURGEパラメタの詳細については、“セットアップガイド”の“DBミラーリングシステムの環境設定”を参照してください。
ログ破棄の利用中に、インデックスのDSIでアクセス禁止を検知した場合は、以下の対処を行い、ログ破棄を継続してください。
dxsvstopコマンドを実行して、DBミラーリングサービスを保守停止します。
$ dxsvstop -m |
Symfoware Serverのrdbrcvコマンドを実行して、表のDSIの内容をもとにインデックスのDSIをリカバリします。
dxsvstartコマンドを実行して、DBミラーリングサービスを開始します。
$ dxsvstart -r |
なお、上記以外に表のDSIに対してSymfoware Serverのrdbinhコマンドで閉塞設定を行うことで、ログ破棄を行う方法もあります。その場合、ログ破棄の解除を行ったときには、表のDSIに対する全件複写が必要です。
Symfoware Serverのrdbrcvコマンドおよびrdbinhコマンドについては“Symfoware Server コマンドリファレンス”を参照してください。
目次
索引
![]() ![]() |