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

K.3.2 データベース定義不整合からのリカバリ

RERUNログの反映処理でデータベース定義不整合の検知対象がDSIの場合、そのDSIに関連する表定義からリカバリする必要があります。両ノードで連携して行うリカバリ手順で表定義からの再作成とデータベースの全件複写を実施します。
両ノードで連携して行うリカバリ手順の“ログ破棄の利用設定”を行う前に、メッセージで示された表のDSIまたはインデックスのDSIの場合はその表のDSIを閉塞します。その後、両ノードで連携して行うリカバリ手順の“異常原因に応じたリカバリ”で、両ノードの表定義からの再作成および正系ノードでrdbunlコマンドを実行してアンロードしたデータを、rdbsloaderコマンドを実行してロードし、全件複写します。

注意

  • データベース定義の不整合とは、両ノードでデータベース定義またはデータベースの状態が異なる場合のことです。副系ノードでデータベースの定義途中やデータベースの初期化途中に運用を開始した場合に発生します。
    データベース定義不整合には以下があります。

    • ユニークインデックスのDSIの未フォーマット

    • 表のDSIの未フォーマット

    • インデックスのDSI未定義

    • ユニークインデックスのDSO未定義

    • 表の更新履歴の不一致

    • XMLインデックス活性状態

  • 正本と副本のデータベースは、定義の変更操作履歴を含めて一致している必要があります。例えば定義の表示コマンドで一致している定義であっても、表の更新履歴が不一致の場合(ALTER TABLEなどを両ノードで異なった操作をした場合など)、RERUNログ反映処理は異常終了します。

  • 格納データを暗号化している場合でも、rdbunlコマンドを使用して取得したDSIの退避データは暗号化されません。退避データを副系ノードに転送するときは、opensslコマンドなどのツールを使用して退避データを暗号化してください。また、退避データが不要となった際にはファイルを削除してください。

ポイント

表K.4 表定義の再作成が不要な現象とリカバリ方法”の場合は、表定義の再作成は不要です。両ノードで連携して行うリカバリ手順の“異常原因に応じたリカバリ”にて、“リカバリ方法”で説明している操作を行います。

表K.4 表定義の再作成が不要な現象とリカバリ方法

表定義の再作成が不要な現象

リカバリ方法

ユニークインデックス(注)のDSIの未フォーマット

全件複写を実施する。

表のDSIの未フォーマット

インデックスのDSI未定義

副系ノードでDSI定義を追加し、インデックスのDSIの創成を行う。

XMLインデックス活性状態

両ノードでXMLインデックスのDSI・XMLグループ・XMLインデックスのDSOを削除後に、全件複写を実施する。

注) ユニークインデックスとは、一意性制約のためのインデックスです。

参照

  • 表定義の再作成の詳細については“RDB運用ガイド(データベース定義編)”を参照してください。

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

  • 両ノードで連携して行うリカバリ手順については“K.3.7 両ノードで連携して行うリカバリ”を参照してください。

  • XMLインデックスの定義削除の詳細については“RDB運用ガイド(XMLアダプタ編)”を参照してください。

  • 退避データファイルの削除方法については“RDB運用ガイド”を参照してください。