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

11.5.1 Symfoware/RDBを正常停止した場合のリカバリ

テンポラリログファイルの閉塞状態からSymfoware/RDBを正常停止した場合は、rdblogコマンドにより、テンポラリログファイルの再作成または作成を行ってください。

参照

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

この場合のリカバリ操作の手順とリカバリ操作例を以下に示します。

リカバリ操作の手順

(1) 業務中にテンポラリログファイルのアクセスエラー
    が発生した場合、システムメッセージを出力して、
    テンポラリログファイルを閉塞します。
    スケーラブルログ運用を行っている場合は、シス
    テムメッセージにより、リカバリすべきテンポラリロ
    グファイルのロググループを特定します。
(2) トランザクションの状態(Tran)の“TINH”            ―――――― rdbcninfコマンド
    がなくなるまで待ちます。                
(3) Symfoware/RDBを停止します。                       ―――――― rdbstopコマンド
(4) 障害ディスクを取り換えます。                      ―――――― CE作業
(5) ディレクトリ構成をリカバリします。              ―――――― mkdirコマンド
      ログ管理ファイルとテンポラリログファイルを
    同一のディスクに配置している場合                  →  (6)へ
      ログ管理ファイルとテンポラリログファイルを
    同一のディスクに配置していないかつアーカイブ
    ログ運用を行っていない場合                        →  (9)へ
       ログ管理ファイルとテンポラリログファイルを
    同一のディスクに配置していないかつアーカイブ
    ログ運用を行っている場合                          →  (10)へ
(6) ログ管理ファイルを作成します。                    ―――――― rdblogコマンド
      スケーラブルログ運用を行っていない場合または                 (Iオプション)
    システムロググループの場合
      ユーザロググループの場合                                     (Iオプションかつ
                                                                   rオプションかつ
                                                                   gオプション)
      アーカイブログ運用を行っている場合              →  (7)へ
      アーカイブログ運用を行っていない場合            →  (10)へ
(7) アーカイブログファイルを再登録します。            ―――――― rdblogコマンド
                                                                   (Aオプションかつ
                                                                   aオプション)
(8) アーカイブログファイルが正常に登録されたことを確認―――――― rdblogコマンド
    します。
      スケーラブルログ運用を行っていない場合                       (Vオプションかつ
                                                                   aオプション)
      スケーラブルログ運用を行っている場合                         (Vオプションかつ
                                                                   aオプションかつ
                                                                   gオプション)
      (5)でログ管理ファイルを作成していない場合       →  (9)へ
      (5)でログ管理ファイルを作成した場合             →  (10)へ
(9) テンポラリログファイルを強制的に削除します。      ―――――― rdblogコマンド
                                                                   (Dオプションかつ
                                                                   tオプションかつ
                                                                   eオプション)
(10) テンポラリログファイルを再作成(アーカイブログ運用―――――― rdblogコマンド
    を行っている場合)または作成(アーカイブログ運用を
    行っていない場合)します。
      スケーラブルログ運用を行っていない場合                       (Gオプションかつt
                                                                   オプション(かつ
                                                                   rオプション))
      スケーラブルログ運用を行っている場合                         (Gオプションかつ
                                                                   tオプションかつ
                                                                   (rオプションかつ)
                                                                   gオプション)
(11) テンポラリログファイルが正常に再作成されたことを ―――――― rdblogコマンド
     確認します。                                              
       スケーラブルログ運用を行っていない場合                      (Vオプションかつ
                                                                   tオプション) 
       スケーラブルログ運用を行っている場合                        (Vオプションかつ
                                                                   tオプションかつ
                                                                   gオプション)
(12) Symfoware/RDBを起動します。                      ―――――― rdbstartコマンド
(13) ロールバック不可閉塞となった資源をリカバリします。
     “11.7.1 ロールバック不可からのリカバリ”
     を実行してください。 

リカバリ操作例

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

スケーラブルログ運用を行っていない場合およびシステムロググループの場合は、rdblogコマンドのgオプション(ロググループ名の指定)を省略して実行してください。

qdg12111u:テンポラリログファイルに 入出力障害が発生しました 
  ファイル名='D:\SFWD\RDB\USR\LOG\TMPLOG' errno=5 (システム名=rdbsys1) 
qdg13239i:ロググループ'grp1'において事象'qdg12111u'が発生しました 
  (システム名=rdbsys1) 

qdg13303e:テンポラリログファイルを閉塞しました (システム名=rdbsys1) 
qdg13239i:ロググループ'grp1'において事象'qdg13303e'が発生しました 
  (システム名=rdbsys1) 

> rdbcninf -s 

> rdbstop 

CE作業  …  障害ディスクの交換 

> mkdir D:\SFWD\RDB\USR\LOG

> rdblog -G -t -r -g grp1 -c 10M D:\SFWD\RDB\USR\LOG\TMPLOG -in -in 30M 30M 20 

> rdblog -V -t -g grp1 

> rdbstart 

注意

Symfoware/RDBの停止は、テンポラリログファイルの閉塞以前より開始していたトランザクションの終了を待ってから行ってください。トランザクションの終了は、rdbcninfコマンドで確認することができます。それらのトランザクションは、トランザクションの状態(Tran)の“TINH”が解除されるまで、以下のようになりますので、注意してください。

  • ロールバックされると、トランザクションで更新していた資源(DSI)は、ロールバック不可能による閉塞が行われます。

  • 実行中にダウンすると、トランザクションで更新していた資源(DSI)は、ダウンリカバリ不可能による閉塞が行われます。