ページの先頭行へ戻る
Interstage Business Application Server 運用ガイド(高信頼性ログ編)
FUJITSU Software

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

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

参照

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

Symfoware/RDB停止中にテンポラリログファイルをリカバリする場合のリカバリ操作の手順とリカバリ操作例を以下に示します。

リカバリ操作の手順

DIR_FILE1: ユーザログテーブル用のRDBディレクトリファイル

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

(1) 業務中にテンポラリログファイルのアクセスエラーが発生した場合、システム
  メッセージを出力して、テンポラリログファイルを閉塞します。
(2) Symfoware/RDBを強制停止します。                      ――― rdbstopコマンド
                                                                 (eオプション)
      ログ管理ファイルとテンポラリログファイルを同一のボリュームに
                                                配置している場合      → (4)へ
      ログ管理ファイルとテンポラリログファイルを同一のボリュームに
                                                配置していない場合    → (3)へ
(3) テンポラリログファイルを強制的に削除します。         ――― rdblogコマンド
                                                                 (Dオプションかつ
                                                                  tオプションかつ
                                                                  eオプション)
(4) 障害ボリュームを取り換えます。                       ――― CE作業
(5) ボリュームの構成情報を復元します。                   ――― fmthardコマンド
      ログ管理ファイルとテンポラリログファイルを同一のボリュームに
                                                配置している場合      → (6)へ
      ログ管理ファイルとテンポラリログファイルを同一のボリュームに
                                                配置していない場合    → (7)へ
(6) ログ管理ファイルを作成します。                       ――― rdblogコマンド
                                                                 (Iオプション)
(7) テンポラリログファイルを作成します。                 ――― rdblogコマンド
                                                                 (Gオプションかつ
                                                                  tオプション)
(8) RDBディレクトリファイルの整合性をとります。          ――― rdbrcvdicコマンド
                                                                 (LOADモード)
(9) Symfoware/RDBを起動します。                          ――― rdbstartコマンド
(10) 業務中にアクセスしていた資源を初期化します。        ――― rdbfmtコマンド

(1) 業務中にテンポラリログファイルのアクセスエラーが発生した場合、システム
  メッセージを出力して、テンポラリログファイルを閉塞します。
(2) Symfoware/RDBを強制停止します。                      ――― rdbstopコマンド
                                                                 (eオプション)
      ログ管理ファイルとテンポラリログファイルを同一のボリュームに
                                                配置している場合      → (4)へ
      ログ管理ファイルとテンポラリログファイルを同一のボリュームに
                                                配置していない場合    → (3)へ
(3) テンポラリログファイルを強制的に削除します。         ――― rdblogコマンド
                                                                 (Dオプションかつ
                                                                  tオプションかつ
                                                                  eオプション)
(4) 障害ボリュームを取り換えます。                       ――― CE作業
(5) ボリュームの構成情報を復元します。
                                                       ――― partedコマンド
      ログ管理ファイルとテンポラリログファイルを同一のボリュームに
                                                配置している場合      → (6)へ
      ログ管理ファイルとテンポラリログファイルを同一のボリュームに
                                                配置していない場合    → (7)へ
(6) ログ管理ファイルを作成します。                       ――― rdblogコマンド
                                                                 (Iオプション)
(7) テンポラリログファイルを作成します。                 ――― rdblogコマンド
                                                                 (Gオプションかつ
                                                                  tオプション)
(8) RDBディレクトリファイルの整合性をとります。          ――― rdbrcvdicコマンド
                                                                 (LOADモード)
(9) Symfoware/RDBを起動します。                          ――― rdbstartコマンド
(10) 業務中にアクセスしていた資源を初期化します。        ――― rdbfmtコマンド

(1) 業務中にテンポラリログファイルのアクセスエラーが発生した場合、システム
  メッセージを出力して、テンポラリログファイルを閉塞します。
(2) Symfoware/RDBを強制停止します。                      ――― rdbstopコマンド
                                                                 (eオプション)
      ログ管理ファイルとテンポラリログファイルを同一のディスクに
                                                配置している場合      → (4)へ
      ログ管理ファイルとテンポラリログファイルを同一のディスクに
                                                配置していない場合    → (3)へ
(3) テンポラリログファイルを強制的に削除します。         ――― rdblogコマンド
                                                                 (Dオプションかつ
                                                                  tオプションかつ
                                                                  eオプション)
(4) 障害ディスクを取り換えます。                         ――― CE作業
(5) ディレクトリ構成をリカバリします。                   ――― mkdirコマンド
      ログ管理ファイルとテンポラリログファイルを同一のディスクに
                                                配置している場合      → (6)へ
      ログ管理ファイルとテンポラリログファイルを同一のディスクに
                                                配置していない場合    → (7)へ
(6) ログ管理ファイルを作成します。                       ――― rdblogコマンド
                                                                 (Iオプション)
(7) テンポラリログファイルを作成します。                 ――― rdblogコマンド
                                                                 (Gオプションかつ
                                                                  tオプション)
(8) RDBディレクトリファイルの整合性をとります。          ――― rdbrcvdicコマンド
                                                                 (LOADモード)
(9) Symfoware/RDBを起動します。                          ――― rdbstartコマンド
(10) 業務中にアクセスしていた資源を初期化します。        ――― rdbfmtコマンド

リカバリ操作例

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

rdb: ERROR: qdg12111u: テンポラリログファイルに入出力障害が発生しました
     ファイル名=/dev/rdsk/c1t0d0s1 errno=5 (システム名=rdbsys1)

rdb: ERROR: qdg13303e: テンポラリログファイルを閉塞しました(システム名=rdbsys1)

$ rdbstop -e

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

$ rdblog -D -t -e

CE作業 … 障害ボリュームの交換

$ fmthard -s c1t0d0_vtoc.txt /dev/rdsk/c1t0d0s2

$ rdblog -G -t -c 10M -in -in 30M 30M 20

$ rdbrcvdic -L -f dicback@/backup/rdb  -du 1M -y

$ rdbstart

$ rdbfmt -mid -i ULOG_DB.業務ログ表DSI

rdb: ERROR: qdg12111u: テンポラリログファイルに入出力障害が発生しました
     ファイル名=/dev/raw/raw22 errno=5 (システム名=rdbsys1)

rdb: ERROR: qdg13303e: テンポラリログファイルを閉塞しました(システム名=rdbsys1)

$ rdbstop -e

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

$ rdblog -D -t -e

CE作業 … 障害ボリュームの交換およびボリューム構成情報の復元

$ rdblog -G -t -c 10M /dev/raw/raw29 -in -in 30M 30M 20

$ rdbrcvdic -L -f dicback@/backup/rdb  -du 1M -y

$ rdbstart

$ rdbfmt -mid -i ULOG_DB.業務ログ表DSI

rdb: ERROR: qdg12111u: テンポラリログファイルに入出力障害が発生しました
     ファイル名=D:\SFWD\RDB\USR\LOG\TMPLOG errno=5 (システム名=rdbsys1)

rdb: ERROR: qdg13303e: テンポラリログファイルを閉塞しました(システム名=rdbsys1)

> rdbstop -e

rdb: ERROR: 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

> rdbstart

> rdbfmt -mid -i ULOG_DB.業務ログ表DSI