テンポラリログファイルの閉塞状態から、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 |