ページの先頭行へ戻る
Symfoware Server V11.1.0 RDB運用ガイド
FUJITSU Software

14.3.1 Symfoware/RDB運用中のリカバリ

Symfoware/RDB運用中にリカバリする場合のリカバリ操作の手順、リカバリ操作例および閉塞されたデータベース資源のリカバリについて以下に示します。

リカバリ操作の手順
(1) 業務中にインダウトログファイルのアクセスエラーが
    発生した場合、システムメッセージを出力して、
    インダウトログファイルを閉塞します。
    テンポラリログファイルとインダウトログファイルを
    同一ローデバイスに配置している場合                      ⇒(2)
    テンポラリログファイルとインダウトログファイルを
    同一ローデバイスに配置していない場合                    ⇒(5)
(2) テンポラリログファイルを閉塞します。                    ――― rdblogコマンド
                                                                   (Hオプションかつ
                                                                    tオプションかつ
                                                                    gオプション)
    ログ管理ファイルとテンポラリログファイルを同一
    ローデバイスに配置している場合                          ⇒(3)
    ログ管理ファイルとテンポラリログファイルを同一
    ローデバイスに配置していない場合                        ⇒(5)
(3) ログ管理ファイルを閉塞します。                          ――― rdblogコマンド
                                                                   (Hオプションかつ
                                                                    Iオプションかつ
                                                                    gオプション)
    ロググループ管理ファイルとログ管理ファイルを同一
    ローデバイスに配置している場合                          ⇒(4)
    ロググループ管理ファイルとログ管理ファイルを同一
    ローデバイスに配置していない場合                        ⇒(5)
(4) ロググループ管理ファイルを閉塞します。                  ――― rdblogコマンド
                                                                   (Hオプションかつ
                                                                    Mオプション)
(5) 媒体障害の場合は、障害ボリュームを取り換え、            ――― CE作業 
    ボリュームの構成情報をリカバリします。
    ロググループ管理ファイル、ログ管理ファイル、
    テンポラリログファイル、インダウトログファイルを
    同一ローデバイスに配置している場合                      ⇒(6)
    ログ管理ファイル、テンポラリログファイル、
    インダウトログファイルを同一ローデバイスに配置
    している場合                                            ⇒(7)
    テンポラリログファイル、インダウトログファイルを
    同一ローデバイスに配置している場合                      ⇒(8)
    上記以外の場合                                          ⇒(9)
(6) ロググループ管理ファイルをリカバリし閉塞を解除します。 ――― rdblogコマンド
                                                                  (Pオプションかつ
                                                                   Mオプション)
(7) ログ管理ファイルをリカバリし閉塞を解除します。         ――― rdblogコマンド
                                                                  (Pオプションかつ
                                                                   Iオプションかつ
                                                                   gオプション)
(8) テンポラリログファイルをリカバリし閉塞を解除します。   ――― rdblogコマンド
                                                                  (Pオプションかつ
                                                                   tオプションかつ
                                                                   gオプション)
(9) インダウトログファイルをリカバリし閉塞を解除します。   ――― rdblogコマンド 
                                                                  (Pオプションかつ
                                                                   iオプションかつ
                                                                   gオプション)
(10) インダウトリカバリ不可閉塞が設定された資源が          ――― rdbinfコマンド 
    あるか調べます。                                              (lオプションかつ
                                                                   aオプション
                                                                   または
                                                                   iオプションかつ
                                                                   aオプション) 
(11) インダウトリカバリ不可閉塞が設定された資源が          ――― rdbrcvコマンド
   ある場合は、それらを退避データとアーカイブログを
   用いてメディアリカバリによりリカバリします。
リカバリ操作例

ここでは、以下の場合を想定しています。

  • ログ管理ファイル、テンポラリログファイル、インダウトログファイルを同一のボリュームに配置している

  • ユーザロググループ

システムロググループの場合は、rdblogコマンドのgオプション(ロググループ名の指定)を省略して実行してください。

rdb: ERROR: qdg12850u:インダウトログファイルの入出力処理で異常が発生しました 
     errno=5 (システム名=rdbsys1) 
rdb: INFO : qdg13239i:ロググループ"group1"において事象"qdg12850u"が発生しました
     (システム名=rdbsys1) 

rdb: ERROR: qdg13824e:インダウトログファイルを閉塞しました(システム名=rdbsys1) 
rdb: INFO : qdg13239i:ロググループ"group1"において事象"qdg13824e"が発生しました 
     (システム名=rdbsys1) 

$ rdblog -H -t -g group1 
$ rdblog -H -I -g group1 

CE作業 … 媒体障害の場合は、障害ボリュームを取り換え、ボリュームの構成情報をリカバリします。

$ rdblog -P -I -g group1 
$ rdblog -P -t -g group1 
$ rdblog -P -i -g group1 

$ rdbinf -l inh -a

$ rdbrcv -F -i 在庫管理DB.在庫表DSI -f stock@/backup/rdb -w /home/rdb/work

注意

閉塞状態のインダウトログファイルをリカバリして閉塞状態を解除するには、メモリ上の情報を使用します。そのため、インダウトログファイルが閉塞状態のままSymfoware/RDBを停止すると、Pオプションでリカバリできません。必ず、Symfoware/RDBを停止する前にPオプションでインダウトログファイルをリカバリしてください。なお、Pオプションによりインダウトログファイルをリカバリする前にSymfoware/RDBを停止した場合は、“14.3.2 Symfoware/RDB停止中のリカバリ”に従ってリカバリしてください。インダウトログファイルの入出力障害以外の理由でボリューム交換を行う場合は、ボリュームの交換を行う前に、インダウトログファイルを閉塞状態にしてください。インダウトログファイルの閉塞は、rdblogコマンドのHオプションおよびiオプションで行います。

閉塞されたデータベース資源のリカバリ

インダウトログファイルが閉塞されると、DSIにインダウトリカバリ不可閉塞が設定されることがあります。このため、トランザクションモニタを起動してインダウトリカバリ(アプリケーションサーバからのコミット/ロールバック指示によるインダウトトランザクションの解決)が完了した後には、インダウトリカバリ不可閉塞が設定されたDSIを、退避データとアーカイブログを用いてメディアリカバリにより最新状態にリカバリしてください。このようにインダウトリカバリが完了してからメディアリカバリを行うことにより、資源は分散トランザクションの結果を正しく反映した状態でリカバリされます。このメディアリカバリは、インダウトリカバリが完了した後であれば、インダウトログファイルのリカバリ前でもリカバリ後でも行うことができます。

インダウトリカバリ不可閉塞が設定されているDSIは、以下のいずれかの方法で調べることができます。

  • rdbinfコマンドにlオプションとaオプションを指定して実行します。DSIの閉塞種別に“IIH” が表示されているDSIが、インダウトリカバリ不可閉塞が設定されているDSIです。

  • rdbinfコマンドにiオプション(またはpオプション)とaオプションを指定して実行します。Stateに“INH”かつCauseに“IIH”が表示されているDSIが、インダウトリカバリ不可閉塞が設定されているDSIです。

  • インダウトリカバリ不可閉塞が設定される際にメッセージログファイルに次のようなメッセージが出力されます。メッセージに表示された資源名からリカバリすべきDSIを特定することができます。

    rdb: ERROR: qdg13816u:インダウトリカバリによるリカバリが不可能なため データベースをアクセス禁止状態にしました
    DB名='在庫管理DB' DSI名='在庫表DSI'
    rdb: ERROR: qdg13817u:インダウトリカバリによるリカバリが不可能なため データベースをアクセス禁止状態にしました
    DB名='在庫管理DB' DSI名='在庫表DSI' ページ識別番号='10'
    rdb: INFO: qdg13820i:インダウトリカバリによるリカバリが不可能となったため、DSI'在庫管理DB.在庫表DSI'に
    設定されているインダウト閉塞をインダウトリカバリ不可閉塞に置換しました