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

11.2.1 RDBディクショナリとRDBディレクトリファイルのリカバリ

RDBディクショナリとRDBディレクトリファイルを同時にリカバリする場合は、リカバリ時の運用状態により、rdbrcvdicコマンドのOverwriteモード、FWモードまたはLOADモードでリカバリします。

参照

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

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

Symfoware/RDB運用中のリカバリは、運用形態により異なります。

Symfoware/RDB運用中にリカバリする場合のリカバリ操作の手順とリカバリ操作例を以下に示します。

リカバリ操作の手順

DIR_FILE1: ユーザデータベース用のRDBディレクトリファイル

DIR_FILE2: RDBディクショナリ用のRDBディレクトリファイル

注) 退避データは、運用形態により必要となります。

      RDBDICONBUFFERの指定によるフォールバック運用の場合   → (1)へ
      rdbpldicコマンドによるフォールバック運用の場合       → (2)へ
      メモリ常駐化を行わないフォールバック運用の場合       → (2)へ
(1) RDB構成パラメタファイルに“RDBDICONBUFFER=YES”を設定します。 
(2) Symfoware/RDBを起動します。                        ――― rdbstartコマンド 
(3) データベースを定義します。                         ――― rdbddlexコマンド 
      RDBDICONBUFFERの指定によるフォールバック運用の場合   → (5)へ
      rdbpldicコマンドによるフォールバック運用の場合       → (4)へ
      メモリ常駐化を行わないフォールバック運用の場合       → (5)へ
(4) RDBディクショナリの情報をメモリに展開します。      ――― rdbpldicコマンド
                                                              (Fオプションかつ
                                                               Uオプション)
(5) RDBディクショナリの退避データを取得します。        ――― rdbdmpdicコマンド 
(6) 目的業務を実行します。

              ★ 障害発生

      RDBDICONBUFFERの指定によるフォールバック運用の場合   → (7)へ
      rdbpldicコマンドによるフォールバック運用の場合       → (8)へ
      メモリ常駐化を行わないフォールバック運用の場合       → (8)へ
(7) RDBディクショナリおよびRDBディレクトリファイルの   ――― rdbprdicコマンド 
  メモリ常駐化状態を確認します。                              (mオプション) 
(8) RDBディクショナリをSymfoware/RDBから切り離します。 ――― rdbexspcコマンド 
                                                              (mdetachオプションかつ
                                                               zオプション)
      媒体障害が発生したボリュームにRDBディレクトリファイルを
                                                   配置してある場合   → (9)へ
      媒体障害が発生したボリュームにRDBディレクトリファイルを
                                                   配置していない場合 → (10)へ
(9) RDBディレクトリファイルをSymfoware/RDBから切り離し ――― rdbexdirコマンド 
   ます。                                                     (mdetachオプションかつ
                                                               uオプション
                                                               またはsオプション)
(10) 媒体障害の場合は、障害ボリュームを取り換えます。  ――― CE作業 
(11) ボリュームを取り換えた場合は、ボリュームの構成    ――― partedコマンド
     情報をリカバリします。
(12) 切り離したRDBディクショナリを接続します。         ――― rdbexspcコマンド 
                                                              (mattachオプションかつ
                                                               zオプション)
      媒体障害が発生したボリュームにRDBディレクトリファイルを
                                                   配置してある場合   → (13)へ
      媒体障害が発生したボリュームにRDBディレクトリファイルを
                                                   配置していない場合 → (14)へ
(13) 切り離したRDBディレクトリファイルを接続します。   ――― rdbexdirコマンド 
                                                              (mattachオプションかつ
                                                               uオプション
                                                               またはsオプション)
(14) RDBディクショナリおよびRDBディレクトリファイル    ――― rdbrcvdicコマンド
  をリカバリします。                                          (Overwriteモード
                                                               [かつfオプション])
       スケーラブルディレクトリ運用を行っていない場合  → (16)へ 
       スケーラブルディレクトリ運用を行っている場合    → (15)へ 
(15) すべてのユーザロググループ用のRDBディレクトリ     ――― rdbscldirコマンド
   ファイルの状態を確認します。                               (Vオプション) 
       状態(Status)が“inhibit”の場合は、
        “11.2.5.1 Symfoware/RDB運用中のリカバリ”の(10)と(11)を実行してください。 
(16) 異常時に備えてRDBディクショナリの退避データを     ――― rdbdmpdicコマンド 
   取得します。 
リカバリ操作例

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

  • rdbpldicコマンドによるフォールバック運用を行っている

  • スケーラブルディレクトリ運用を行っている

  • 媒体障害が発生したボリュームにRDBディレクトリファイルを配置していない

    $ rdbstart 
    
    $ rdbddlex -d 在庫管理DB /rdb/ddl.dat 
    
    $ rdbpldic -F -U -d 在庫管理DB -T
    
    $ rdbdmpdic -f dicback@/backup/rdb -y -e
    
    目的業務の実行 
    
    rdb: ERROR:qdg03121u: RDBIIディクショナリにおいて 入出力障害が発生しました 
         (システム名=rdbsys1) 
    
    $ rdbexspc -mdetach -z 
    
    CE作業 … 媒体障害の場合は、障害ボリュームの交換およびボリューム構成情報のリカバリ
    
    $ rdbexspc -mattach -z 
    
    $ rdbrcvdic -O -f dicback@/backup/rdb -w /home/rdb1/work
    
    rdb: INFO:qdg02654i: rdbrcvdicコマンドの処理を開始します (システム名=rdbsys1) 
         :
    rdb: INFO:qdg02655i: rdbrcvdicコマンドの処理が正常終了しました (システム名=rdbsys1)
    
    $ rdbscldir -V 
    
    RDBII rdbscldir DATE:2007/04/14 TIME:10/20/30 
    LogGroup  Status  DBspace  Size(Used rate)  Directory file path
    system    normal  Exist      2048K(12%)     /home/rdbdir/DIR_FILE1 
    grp1      normal  Exist      1024K(23%)     /home/grp1/DIR_FILE_G1 
    
    $ rdbdmpdic -f dicback@/backup/rdb -y -e

11.2.1.2 Symfoware/RDB停止中のリカバリ

Symfoware/RDB停止中にリカバリする場合は、rdbrcvdicコマンドのFWモードまたはrdbrcvdicコマンドのLOADモードでリカバリします。

アーカイブログ運用を行っている場合は、FWモードにより、最新状態までリカバリします。

アーカイブログ運用を行っていない場合は、LOADモードにより、RDBディクショナリの退避データ取得時点までリカバリします。なお、格納データを暗号化している場合は、RDBディクショナリの退避データを取得した時点のマスタ暗号化キーファイルをバックアップから戻してください。その際、マスタ暗号化キーファイルの絶対パス名は、取得時点と同じでなければなりません。

Symfoware/RDB停止中かつアーカイブログ運用を行っている場合のリカバリ操作の手順とリカバリ操作例を以下に示します。

リカバリ操作の手順

DIR_FILE1: ユーザデータベース用のRDBディレクトリファイル

DIR_FILE2: RDBディクショナリ用のRDBディレクトリファイル

(1) Symfoware/RDBを起動します。                        ――― rdbstartコマンド
(2) データベースを定義します。                         ――― rdbddlexコマンド
(3) RDBディクショナリの退避データを取得します。        ――― rdbdmpdicコマンド 
(4) 目的業務を実行します。 

              ★ 障害発生 

(5) Symfoware/RDBを停止します。                        ――― rdbstopコマンド 
(6) 媒体障害の場合は、障害ボリュームを取り換えます。   ――― CE作業 
(7) ボリュームを取り換えた場合は、ボリュームの構成情報をリカバリします。
                                                       ――― partedコマンド
(8) RDBディクショナリおよびRDBディレクトリファイルを   ――― rdbrcvdicコマンド 
  リカバリします。                                            (FWモード) 
      スケーラブルディレクトリ運用を行っていない場合   → (11)へ 
      スケーラブルディレクトリ運用を行っている場合     → (9)へ 
(9) すべてのユーザロググループ用のRDBディレクトリファ  ――― rdbscldirコマンド 
  イルを再登録します。                                        (Aオプションかつ
                                                               gオプション) 
(10) すべてのユーザロググループ用のRDBディレクトリファ ――― rdbscldirコマンド 
   イルが正常に登録されたことを確認します。                   (Vオプション) 
       状態(Status)が“inhibit”の場合は、
        “11.2.5.2 Symfoware/RDB停止中のリカバリ”の(7)と(8)を実行してください。 
(11) Symfoware/RDBを起動します。                       ――― rdbstartコマンド 
(12) 異常時に備えてRDBディクショナリの退避データを     ――― rdbdmpdicコマンド 
   取得します。 
リカバリ操作例

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

  • スケーラブルディレクトリ運用を行っている

    $ rdbstart 
    
    $ rdbddlex -d 在庫管理DB /rdb/ddl.dat 
    
    $ rdbdmpdic -f dicback@/backup/rdb -y -e
    
    目的業務の実行 
    
    rdb: ERROR:qdg03121u: RDBIIディクショナリにおいて入出力障害が発生しました 
          (システム名=rdbsys1) 
    $ rdbstop 
    
    CE作業 … 媒体障害の場合は、障害ボリュームの交換およびボリューム構成情報のリカバリ
    
    $ rdbrcvdic -F -f dicback@/backup/rdb  -du 1M -w /home/rdb1/work 
    
    rdb: INFO:qdg02654i: rdbrcvdicコマンドの処理を開始します (システム名=rdbsys1) 
         :
    rdb: INFO:qdg02655i: rdbrcvdicコマンドの処理が正常終了しました (システム名=rdbsys1)
    
    $ rdbscldir -A -g grp1 /home/grp1/DIR_FILE_G1 
    
    $ rdbscldir -V 
    
    RDBII rdbscldir DATE:2007/04/14 TIME:10/20/30 
    LogGroup  Status  DBspace  Size(Used rate)  Directory file path
    system    normal  Exist      2048K(12%)     /home/rdbdir/DIR_FILE1 
    grp1      normal  Exist      1024K(23%)     /home/grp1/DIR_FILE_G1 
    
    $ rdbstart 
    
    $ rdbdmpdic -f dicback@/backup/rdb -y -e