ページの先頭行へ戻る
Symfoware Server V10.0.0 クラスタ導入運用ガイド

6.5 テンポラリログファイルのリカバリ

テンポラリログファイルに異常が発生した場合は、リカバリのためにスタンバイクラスのサービスを停止してください。

また、テンポラリログファイルの入出力障害が発生する少し前にコミットした更新が、ロールバックになっている可能性があります。データベースのリカバリ後に、どこまでの更新が完了しているかを確認し、必要に応じて再更新を行ってください。

運用のRDBシステムにおいて以下の手順でリカバリをしてください。

参照

各コマンドのオプションの指定方法の詳細については、“コマンドリファレンス”を参照してください。

リカバリ操作の手順

(1)スタンバイクラスのクラスタサービスの状態を確認します。―――― クラスタ管理
                                                                  ビューまたは
                                                                  clgettreeコマンド
                                                                  (sオプション)
(2)スタンバイクラスのクラスタサービスの状態が「運用中」  ―――― クラスタ管理
    または「片側運用」のときは、スタンバイクラスの                ビューまたは
    クラスタサービスを停止します。                                clstopsvcコマンド
(3)媒体障害の場合は、障害ディスクを取り換えます。      ―――― CE作業
    ディスク交換後、以下の作業を忘れずに行ってください。
    ・パーティション分割
    ・NTFSフォーマット(RDBの資源をNTFSファイルに配置している場合のみ)
    ・論理ドライブ名の設定(RDBの資源をローデバイスに配置している場合のみ)
(4)ディスクリソースを活性状態にします。
    ディスクリソースの活性手順は、
    “5.1.2 ディスクリソースを活性状態にする”
    を参照してください。
    ログ管理ファイルとテンポラリログファイルを同一の
    ローデバイスに配置している場合、または、ログ管理
    ファイルとテンポラリログファイルを同一のディスク
    に配置している場合                            ⇒(5)
    ログ管理ファイルとテンポラリログファイルを同一の
    ローデバイスに配置していない場合、または、ログ管理
    ファイルとテンポラリログファイルを同一のディスクに
    配置していない場合                            ⇒(8)
(5)ログ管理ファイルを再作成します。                       ―――― rdblogコマンド
    スケーラブルログ運用ではない場合またはシステムログ            (Iオプション)
    グループの場合
    ユーザロググループの場合                                      (Iオプションかつ
                                                                   rオプションかつ
                                                                   gオプション)
(6)すべてのアーカイブログファイルを再登録します。         ―――― rdblogコマンド
                                                                  (Aオプションかつ
                                                                   aオプション)
(7)すべてのアーカイブログファイルが正常に登録された       ―――― rdblogコマンド
    ことを確認します。
    スケーラブルログ運用ではない場合                              (Vオプションかつ
                                                                   aオプション)
    スケーラブルログ運用の場合                                    (Vオプションかつ
                                                                   aオプションかつ
                                                                   gオプション)
(8)テンポラリログファイルを再作成します。                 ―――― rdblogコマンド
    スケーラブルログ運用ではない場合                              (Gオプションかつ
                                                                   tオプションかつ
                                                                   rオプション)
    スケーラブルログ運用の場合                                    (Gオプションかつ
                                                                   tオプションかつ
                                                                   rオプションかつ
                                                                   gオプション)
(9)テンポラリログファイルが正常に作成されたことを確認     ―――― rdblogコマンド
    します。スケーラブルログ運用ではない場合                      (Vオプションかつ
                                                                   tオプション)
    スケーラブルログ運用の場合                                    (Vオプションかつ
                                                                   tオプションかつ
                                                                   gオプション)
    RDBディクショナリ、または、RDBディレクトリファイルも
    破壊されている場合                                            ⇒ (11)
(10)アーカイブログファイルを使用してデータベースを        ―――― rdbadjrcvコマンド
    リカバリします。
    ユーザロググループの場合                                      (gオプション)
    rdbadjrcvコマンドによって、RDBディクショナリがリカバリ
    できなかった場合                              ⇒(11)
    rdbadjrcvコマンドによって、RDBディクショナリがリカバリ
    できた場合                                    ⇒(14)
(11)rdbrcvdicコマンドのFWモードでRDBディクショナリとRDB  ―――― rdbrcvdicコマンド
    ディレクトリファイルをリカバリします。                       (FWモードかつ
    RDBディクショナリとRDBディレクトリファイルのリカバリは、      ddlオプション)
    インクリメンタルリカバリによるリカバリを推奨します。
    スケーラブルディレクトリ運用を行っていない場合 ⇒(14)
    スケーラブルディレクトリ運用を行っている場合   ⇒(12)
(12)すべてのユーザロググループ用のRDB                    ―――― rdbscldirコマンド
    ディレクトリファイルを再登録します。                          (Aオプションかつ
                                                                   gオプション)
(13)ユーザロググループ用のRDBディレクトリファイル情報を  ―――― rdbscldirコマンド
    確認します。
    リカバリした以外にアクセス禁止状態のユーザロググループ用の        (Vオプション)
    RDBディレクトリファイルが存在していた場合は、
   “6.2.4 ユーザロググループ用のRDBディレクトリファイルのリカバリ”
    の(5)と(6)の手順を実施後(14)へ
(14)Symfoware/RDBを起動します。(動作確認)                 ―――― rdbstartコマンド
    ホットスタンバイ機能かつ(10)を実行している場合⇒(15)
    ホットスタンバイ機能かつ(10)を実行していない場合、
    またはスタンバイ機能の場合                    ⇒(16)
(15)ホットスタンバイ機能の利用の宣言をします。            ―――― rdbhsutyコマンド
    (RDBディレクトリファイルをリカバリするとホットスタンバイ     (monオプションかつ
    機能の利用で宣言した情報が初期化されるため、ホットスタンバイ    fオプション)
    機能の利用を再宣言する必要があります。RDBディレクトリ
    ファイルをリカバリする前と同じ内容を再宣言します。)
(16)Symfoware/RDBを停止します。(動作確認)                ―――― rdbstopコマンド
(17)ディスクリソースを非活性状態にします。
    ディスクリソースの非活性手順は、
    “5.1.4 ディスクリソースを非活性状態にする”
    を参照してください。
(18)スタンバイクラスのクラスタサービスを起動します。     ―――― クラスタ管理
                                                                  ビューまたは
                                                                  clstartsvcコマンド
(19)スタンバイクラスのクラスタサービスの状態を           ―――― クラスタ管理
    確認します。                                                  ビューまたは
                                                                   clgettreeコマンド
                                                                  (sオプション)
(20)スタンバイクラスのクラスタサービスの状態が「片側運用」―――― クラスタ管理
    のときは、スタンバイクラスのクラスタサービスを組込み           ビューまたは
    可能モードに変更し、待機インスタンスに組込みます。             clchgbldmdコマンド
    さらに、移動待機なしの場合は、スタンバイクラスの               clbldinsコマンド
    クラスタサービスを切り戻します。                               clresumsvcコマンド
(21)rdbadjrcvコマンドでリカバリできなかった資源をアクセス禁止―――― rdbinhコマンド
    状態にし、リカバリします。                                        (iオプション)
    (10)のrdbadjrcvコマンドを実施していないか、
    RDBディクショナリがリカバリできなかった場合は、すべての資源(DSI)を
    アクセス禁止状態にし、リカバリします。
    (rdbadjrcvコマンドでリカバリできなかった資源(DSI)は、     ―――― rdbrcvコマンド
    rdbadjrcvコマンドコマンドの実行時にメッセージで出力            (FWモード)
    されます。このメッセージで出力された資源(DSI)を
    rdbinhコマンドによりアクセス禁止状態にした後、
    rdbrcvコマンドのFWモードでリカバリします。)
(22)rdbadjrcvコマンドでリカバリできなかった資源の退避データを―――― rdbdmpコマンド
    取得します。
    ((21)でrdbrcvコマンドのFWモードでリカバリした資源(DSI)
    の退避データを取得します。)
    (10)のrdbadjrcvコマンドを実施していないか、
    RDBディクショナリがリカバリできなかった場合は、すべての表の
    DSIの退避データを取得します。
    RDBディクショナリのリカバリを行った場合は、RDB         ―――― rdbdmpdicコマンド
    ディクショナリの退避データも取得します。

備考. スケーラブルログ運用の場合、(6)以降の操作は当該ロググループを対象にして作業を実施します。

注意

  • rdbadjrcvコマンドによりデータベースのリカバリを行うには、テンポラリログファイルの作成時に指定したAIログ域のサイズ以上のアーカイブログが必要となります。したがって、この機能を利用する場合には、最低限それだけのアーカイブログを保持する運用を行う必要があります。

  • テンポラリログファイルの入出力障害が発生する少し前にコミットした更新がロールバックになっている可能性があります。データリカバリ後、どこまでの更新が完了しているか確認し、必要に応じて再更新などを行ってください。

  • スケーラブルログ運用を行っていてアーカイブログ退避データを指定する場合は、リカバリ対象のDSIが属するロググループのアーカイブログ退避データを指定する必要があります。