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

11.5.3 Symfoware/RDBを強制停止した場合のリカバリ(アーカイブログ運用なし)

テンポラリログファイルの閉塞状態から、Symfoware/RDBを強制停止した場合でアーカイブログ運用を行っていない場合は、rdbrcvコマンドにより、データベースのリカバリを行ってください。

参照

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

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

リカバリ操作の手順

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

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

(1) 業務中にテンポラリログファイルのアクセスエラーが
    発生した場合、システムメッセージを出力して、
    テンポラリログファイルを閉塞します。
    スケ-ラブルログ運用を行っている場合は、システム
    メッセージにより、リカバリすべきテンポラリログ
    ファイルのロググループを特定しておきます。
(2) Symfoware/RDBを強制停止します。                   ―――――― rdbstopコマンド
                                                                   (eオプション)
      ログ管理ファイルとテンポラリログファイルを同一
    のディスクに配置している場合                      →  (4)へ
      ログ管理ファイルとテンポラリログファイルを同一
    のディスクに配置していない場合                    →  (3)へ
(3) テンポラリログファイルを強制的に削除します。      ―――――― rdblogコマンド
      スケーラブルログ運用を行っていない場合                       (Dオプションかつ
                                                                   tオプションかつ
                                                                   eオプション)
      スケーラブルログ運用を行っている場合                         (Dオプションかつ
                                                                   tオプションかつ
                                                                   gオプションかつ
                                                                   eオプション)
(4) 障害ディスクを取り換えます。                      ―――――― CE作業
(5) ディレクトリ構成をリカバリします。              ―――――― mkdirコマンド
      ログ管理ファイルとテンポラリログファイルを同一
    のディスクに配置している場合                      →  (6)へ
      ログ管理ファイルとテンポラリログファイルを同一
    のディスクに配置していない場合                    →  (7)へ
(6) ログ管理ファイルを作成します。                    ―――――― rdblogコマンド
      スケーラブルログ運用を行っていない場合または
    システムロググループの場合                                     (Iオプション)
      ユーザロググループの場合                                     (Iオプションかつ
                                                                   rオプションかつ
                                                                   gオプション)
(7) テンポラリログファイルを作成します。              ―――――― rdblogコマンド
      スケーラブルログ運用を行っていない場合                       (Gオプションかつ
                                                                   tオプション)
      スケーラブルログ運用を行っている場合                         (Gオプションかつ
                                                                   tオプションかつ
                                                                   gオプション)
(8) RDBディレクトリファイルの整合性をとります。       ―――――― rdbrcvdicコマンド
      下記以外の場合                                               (LOADモード)
      スケーラブルディレクトリ運用のユーザログ
    グループの場合                                                 (LOADモードかつ
                                                                   gオプション)
      スケーラブルディレクトリ運用のシステムログ
    グループの場合                                    →  (9)へ       
      スケーラブルディレクトリ運用のユーザロググ
    ループの場合                                      →  (10)へ       
      上記以外の場合                                  →  (11)へ       
(9) すべてのユ-ザロググル-プ用のRDBディレクトリ     ―――――― rdbscldirコマンド
    ファイルを再登録します。                                       (Aオプションかつ
                                                                   gオプション)
(10) ユ-ザロググル-プ用のRDBディレクトリファイル     ―――――― rdbscldirコマンド
    情報を確認します。                                             (Vオプション)
    状態(Status)が“inhibit”の場合は、
    “11.2.5 ユーザロググループ用のRDBディレクトリファイルのリカバリ”
     の(6)と(7)を実行してください。
(11) Symfoware/RDBを起動します。                       ―――――― rdbstartコマンド
(12) 業務中にアクセスしていた資源を“アクセス禁止”    ―――――― rdbinhコマンド
     にします。
(13) 業務中にアクセスしていた資源に対してリカバリ処理を
     実施します。                                      ――――――  rdbrcvコマンド
                                                                     (LOADモード)

リカバリ操作例

リカバリ操作は、以下の運用形態により異なります。

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

スケーラブルログ運用を行っていない場合、システムロググループの場合およびユーザロググループの場合

以下の例では、ユーザロググループの場合を想定しています。

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

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

> rdbstop -e 

qdg02842u:シグナル9を受信したため RDBIIシステム空間が異常終了しました 
  (システム名=rdbsys1) 

> rdblog -D -t -e -g grp1 

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

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

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

> rdbrcvdic -L -f DICBACK@E:\BACKUP\DIC -du 1M 

> rdbstart 

> rdbinh -i 在庫管理DB.在庫表DSI 

> rdbrcv -L -i 在庫管理DB.在庫表DSI -f STOCK@E:\BACKUP\DB 
         -w D:\USER\RDB1\WORK
スケーラブルディレクトリ運用のシステムロググループの場合

以下の例では、rdblogコマンドのgオプション(ロググループ名の指定)を省略しています。

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

> rdbstop -e 

qdg02842u:シグナル9を受信したため RDBIIシステム空間が異常終了しました (システム名=rdbsys1) 

> rdblog -D -t -e 

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

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

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

> rdbrcvdic -L -f DICBACK@E:\BACKUP\DIC -du 1M 

> rdbscldir -A -g grp1 D:\SFWD\RDB\USR\ULOG\DIR_FILE_G1
> rdbscldir -A -g grp2 D:\SFWD\RDB\USR\ULOG\DIR_FILE_G2

> rdbscldir -V 

RDBII rdbscldir DATE:2007/04/14  TIME: 16/30/31 
LogGroup      Staus   DBspace  Size(Used rate)  Directory file path 

system        normal  Exist        2048k(12%)   D:\SFWD\RDB\USR\DIR\DIR_FILE1
grp1          normal  Exist        1024k(23%)   D:\SFWD\RDB\USR\ULOG\DIR_FILE_G1
grp2          normal  Not Exist    2048k(23%)   D:\SFWD\RDB\USR\ULOG\DIR_FILE_G2

> rdbstart 

> rdbinh -i 在庫管理DB.在庫表DSI 

> rdbrcv -L -i 在庫管理DB.在庫表DSI -f STOCK@E:\BACKUP\DB 
         -w D:\USER\RDB1\WORK
スケーラブルディレクトリ運用のユーザロググループの場合
qdg12111u:テンポラリログファイルに 入出力障害が発生しました 
  ファイル名='D:\SFWD\RDB\USR\LOG\TMPLOG' errno=5 (システム名=rdbsys1) 
qdg13239i:ロググループ'grp1'において事象'qdg12111u'が発生しました 
  (システム名=rdbsys1) 
qdg13303e:テンポラリログファイルを閉塞しました (システム名=rdbsys1) 
qdg13239i:ロググループ'grp1'において事象'qdg13303e'が発生しました (システム名=rdbsys1) 

> rdbstop -e 

qdg02842u:シグナル9を受信したため RDBIIシステム空間が異常終了しました 
  (システム名=rdbsys1) 

> rdblog -D -t  -e -g grp1 

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

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

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

> rdbrcvdic -L -e -g grp1 

> rdbscldir -V 

RDBII rdbscldir DATE:2007/04/14 TIME: 16/30/31 
LogGroup     Staus  DBspace  Size(Used rate)  Directory file path 

system       normal Exist        2048k(12%)   D:\SFWD\RDB\USR\DIR\DIR_FILE1
grp1         normal Exist        1024k(23%)   D:\SFWD\RDB\USR\ULOG\DIR_FILE_G1
grp2         normal Not Exist     2048k(23%)  D:\SFWD\RDB\USR\ULOG\DIR_FILE_G2

> rdbstart 

> rdbinh -i 在庫管理DB.在庫表DSI 

> rdbrcv -L -i 在庫管理DB.在庫表DSI -f STOCK@E:\BACKUP\DB 
         -w D:\USER\RDB1\WORK