インダウトログファイルのリカバリには、Symfoware/RDB運用中に行う方法と、Symfoware/RDB停止中に行う方法があります。Symfoware/RDB運用中のリカバリは、Symfoware Server Enterprise Extended Editionで利用できます。
インダウトログファイルに入出力障害が発生した場合、Symfoware/RDBは自動的にフォールバック運用になります。このため、業務スケジュールの都合の良い時間にリカバリしてください。
インダウトログファイルに入出力障害が発生した場合のフォールバック運用では、インダウト状態となったトランザクションが更新していたデータベースはインダウトリカバリ不可閉塞となり、データベースのリカバリが必要です。ただし、その他のデータベースについては引き続きアクセス可能となります。
システムロググループの場合は、Capitalシステムの運用ノードでリカバリをしてください。
ユーザロググループの場合は、ロググループが偏在するSatelliteシステムでリカバリをしてください。

(1) 業務中にインダウトログファイルのアクセスエラーが
発生した場合、システムメッセージを出力して、
インダウトログファイルを閉塞します。
テンポラリログファイルとインダウトログファイルを
同一ローデバイスに配置している場合 ⇒(2)
テンポラリログファイルとインダウトログファイルを
同一ローデバイスに配置していない場合 ⇒(5)
(2) テンポラリログファイルを閉塞します。 ――― rdblogコマンド
(Hオプションかつ
tオプションかつ
gオプション)
ログ管理ファイルとテンポラリログファイルを同一
ローデバイスに配置している場合 ⇒(3)
ログ管理ファイルとテンポラリログファイルを同一
ローデバイスに配置していない場合 ⇒(5)
(3) ログ管理ファイルを閉塞します。 ――― rdblogコマンド
(Hオプションかつ
Iオプションかつ
gオプション)
ロググループ管理ファイルとログ管理ファイルを同一
ローデバイスに配置している場合 ⇒(4)
ロググループ管理ファイルとログ管理ファイルを同一
ローデバイスに配置していない場合 ⇒(5)
(4) ロググループ管理ファイルを閉塞します。 ――― rdblogコマンド
(Hオプションかつ
Mオプション)
(5) 媒体障害の場合は、障害ボリュームを取り換え、 ――― CE作業
ボリュームの構成情報をリカバリします。
ロググループ管理ファイル、ログ管理ファイル、
テンポラリログファイル、インダウトログファイルを
同一ローデバイスに配置している場合 ⇒(6)
ログ管理ファイル、テンポラリログファイル、
インダウトログファイルを同一ローデバイスに配置
している場合 ⇒(7)
テンポラリログファイル、インダウトログファイルを
同一ローデバイスに配置している場合 ⇒(8)
上記以外の場合 ⇒(9)
(6) ロググループ管理ファイルをリカバリし閉塞を解除します。 ――― rdblogコマンド
(Pオプションかつ
Mオプション)
(7) ログ管理ファイルをリカバリし閉塞を解除します。 ――― rdblogコマンド
(Pオプションかつ
Iオプションかつ
gオプション)
(8) テンポラリログファイルをリカバリし閉塞を解除します。 ――― rdblogコマンド
(Pオプションかつ
tオプションかつ
gオプション)
(9) インダウトログファイルをリカバリし閉塞を解除します。 ――― rdblogコマンド
(Pオプションかつ
iオプションかつ
gオプション)
以下の処理はDSIが偏在するSatelliteシステムで実施してください。
(10) インダウトリカバリ不可閉塞が設定された資源が ――― rdbinfコマンド
あるか調べます。 (lオプションかつ
aオプション
または
iオプションかつ
aオプション)
(11) インダウトリカバリ不可閉塞が設定された資源が ――― rdbrcvコマンド
ある場合は、それらを退避データとアーカイブログを
用いてメディアリカバリによりリカバリします。ここでは、以下の場合を想定しています。
ログ管理ファイル、テンポラリログファイル、インダウトログファイルを同一のボリュームに配置している
ユーザロググループ
システムロググループの場合は、rdblogコマンドのgオプション(ロググループ名の指定)を省略して実行してください。
rdb: ERROR: qdg12850u:インダウトログファイルの入出力処理で異常が発生しました
errno=5 (システム名=rdbsys1)
rdb: INFO : qdg13239i:ロググループ”group1”において事象”qdg12850u”が発生しました
(システム名=rdbsys1)
rdb: ERROR: qdg13824e:インダウトログファイルを閉塞しました(システム名=rdbsys1)
rdb: INFO : qdg13239i:ロググループ”group1”において事象”qdg13824e”が発生しました
(システム名=rdbsys1)
$ rdblog -H -t -g group1
$ rdblog -H -I -g group1
CE作業 … 媒体障害の場合は、障害ボリュームを取り換え、ボリュームの構成情報をリカバリします。
$ rdblog -P -I -g group1
$ rdblog -P -t -g group1
$ rdblog -P -i -g group1
$ rdbinf -l inh -a
$ rdbrcv -F -i 在庫管理DB.在庫表DSI -f stock@/backup/rdb -w /home/rdb/work閉塞状態のインダウトログファイルをリカバリして閉塞状態を解除するには、メモリ上の情報を使用します。そのため、インダウトログファイルが閉塞状態のままSymfoware/RDBを停止すると、Pオプションでリカバリできません。必ず、Symfoware/RDBを停止する前にPオプションでインダウトログファイルをリカバリしてください。なお、Pオプションによりインダウトログファイルをリカバリする前にSymfoware/RDBを停止した場合は、“Symfoware/RDB停止中のリカバリ”に従ってリカバリしてください。インダウトログファイルの入出力障害以外の理由でボリューム交換を行う場合は、ボリュームの交換を行う前に、インダウトログファイルを閉塞状態にしてください。インダウトログファイルの閉塞は、rdblogコマンドのHオプションおよびiオプションで行います。
インダウトログファイルが閉塞されると、DSIにインダウトリカバリ不可閉塞が設定されることがあります。よって、トランザクションモニタを起動してインダウトリカバリ(アプリケーションサーバからのコミット/ロールバック指示によるインダウトトランザクションの解決)が完了した後には、インダウトリカバリ不可閉塞が設定されたDSIを、退避データとアーカイブログを用いてメディアリカバリにより最新状態にリカバリしてください。このようにインダウトリカバリが完了してからメディアリカバリを行うことにより、資源は分散トランザクションの結果を正しく反映した状態でリカバリされます。このメディアリカバリは、インダウトリカバリが完了した後であれば、インダウトログファイルのリカバリ前でもリカバリ後でも行うことができます。
インダウトリカバリ不可閉塞が設定されているDSIは、以下のいずれかの方法で調べることができます。
rdbinfコマンドにlオプションとaオプションを指定して実行します。DSIの閉塞種別に“IIH” が表示されているDSIが、インダウトリカバリ不可閉塞が設定されているDSIです。
rdbinfコマンドにiオプション(またはpオプション)とaオプションを指定して実行します。State欄に“INH”かつCause欄に“IIH”が表示されているDSIが、インダウトリカバリ不可閉塞が設定されているDSIです。
インダウトリカバリ不可閉塞が設定される際にメッセージログファイルに次のようなメッセージが出力されます。メッセージに表示された資源名からリカバリすべきDSIを特定することができます。
rdb: ERROR: qdg13816u:インダウトリカバリによるリカバリが不可能なため データベースをアクセス禁止状態にしました DB名=’在庫管理DB’ DSI名=’在庫表DSI’ rdb: ERROR: qdg13817u:インダウトリカバリによるリカバリが不可能なため データベースをアクセス禁止状態にしました DB名=’在庫管理DB’ DSI名=’在庫表DSI’ ページ識別番号=’10’ rdb: INFO: qdg13820i:インダウトリカバリによるリカバリが不可能となったため、DSI’在庫管理DB.在庫表DSI’に 設定されているインダウト閉塞をインダウトリカバリ不可閉塞に置換しました
Capitalシステムが稼動する任意のノードで、RDBNAMEにCAPITALを指定して、以下の手順でリカバリをしてください。

(1) スケーラブル型のクラスタアプリケーションに
登録されているすべての運用系および待機系の
クラスタアプリケーションを保守停止します。
クラスタアプリケーションの保守停止手順は、
“9.5 クラスタアプリケーションの保守のための停止”を
参照してください。
(2) 媒体障害の場合は、障害ボリュームを取り換え、 ―――― CE作業
ボリュームの構成情報をリカバリします。
ロググループ管理ファイル、ログ管理ファイル、
テンポラリログファイル、インダウトログファイル
を同一ローデバイスに配置している場合 ⇒(3)
ログ管理ファイル、テンポラリログファイル、
インダウトログファイルを同一ローデバイスに配置している場合 ⇒(6)
テンポラリログファイル、インダウトログファイルを
同一ローデバイスに配置している場合 ⇒(9)
上記以外の場合 ⇒(11)
(3) ロググループ管理ファイルを作成します。 ―――― rdblogコマンド
(Mオプション)
(4) 同一ローデバイス以外のすべてのロググループの ―――― rdblogコマンド
ログ管理ファイルを再登録します。 (Aオプションかつ
Iオプション)
(5) 当該ロググループ以外のすべてのロググループのログ ―――― rdblogコマンド
管理ファイルが正常に登録されたことを確認します。 (Vオプションかつ
Iオプション)
(6) ログ管理ファイルを作成します。 ―――― rdblogコマンド
システムロググループの場合 (Iオプション)
ユーザロググループかつ(3)によりロググループ管理 (Iオプションかつ
ファイルを作成している場合 gオプション)
ユーザロググループかつ(3)によりロググループ管理 (Iオプションかつ
ファイルを作成していない場合 rオプションかつ
gオプション)
(7) すべてのアーカイブログファイルを再登録します。 ―――― rdblogコマンド
(Aオプションかつ
aオプション)
(8) すべてのアーカイブログファイルが正常に登録された ―――― rdblogコマンド
ことを確認します。 (Vオプションかつ
aオプションかつ
gオプション)
(9) テンポラリログファイルを再作成します。 ―――― rdblogコマンド
(Gオプションかつ
tオプションかつ
rオプションかつ
gオプション)
(10) テンポラリログファイルが正常に登録されたことを ―――― rdblogコマンド
確認します。 (Vオプションかつ
tオプションかつ
gオプション)
ログ管理ファイルがインダウトログファイルと
同一ローデバイスに配置していない場合 ⇒(11)
ログ管理ファイルがインダウトログファイルと
同一ローデバイスに配置している場合 ⇒(12)
(11) インダウトログファイルを削除します。 ―――― rdblogコマンド
(Dオプションかつ
iオプションかつ
eオプションかつ
gオプション)
(12) インダウトログファイルを再作成します。 ―――― rdblogコマンド
(Gオプションかつ
iオプションかつ
gオプション)
(13) インダウトログファイルが正常に作成されたことを ―――― rdblogコマンド
確認します。 (Vオプションかつ
iオプションかつ
gオプション)
(14) ユーザロググループかつ(6)によりログ管理ファイルを
作成している場合
ユーザロググループ用のRDBディレクトリファイルを ―――― rdbscldirコマンド
再登録します。 (Aオプションかつ
gオプション)
(15) ユーザロググループ用のRDBディレクトリファイルが ―――― rdbscldirコマンド
正常に登録されたことを確認します。 (Vオプションかつ
gオプション)
(16) Symfoware/RDBを起動します。(動作確認) ―――― rdbstartコマンド
(17) Symfoware/RDBを停止します。(動作確認) ―――― rdbstopコマンド
(18) rdbrcvdicコマンドのLOADモードでRDBディレクトリ ―――― rdbrcvdicコマンド
ファイルのみをリカバリします。(インダウト閉塞の強制 (Lオプションかつ
解除およびRDBディクショナリとの整合をとります。) rオプションかつ
RDBディレクトリファイルのリカバリは、インクリメンタル ddlオプション)
リカバリによるリカバリを推奨します。(縮退運転の時間が
短縮できます。)
(19) rdbrcvdicコマンドのLOADモードですべてのユーザログ ―――― rdbrcvdicコマンド
グループ用のRDBディレクトリファイルをリカバリします。 (Lオプションかつ
ユーザロググループ用のRDBディレクトリファイルの ddlオプションかつ
リカバリは、インクリメンタルリカバリによるリカバリを gオプション)
推奨します。(縮退運転の時間が短縮できます。)
(20) Symfoware/RDBを起動します。 ―――― rdbstartコマンド
(21) ホットスタンバイの使用を宣言します。 ―――― rdbhsutyコマンド
(monオプション)
(22) Symfoware/RDBを停止します。 ―――― rdbstopコマンド
(23) スケーラブル型のクラスタアプリケーションに登録
されているすべての運用系および待機系
クラスタアプリケーションの保守停止を解除します。
クラスタアプリケーションの保守停止解除の手順は、
“9.6 クラスタアプリケーションの保守停止の解除”を
参照してください。
以下の処理はDSIが偏在するSatelliteシステムで実施してください。
(24) RDBディレクトリファイルをインクリメンタルリカバリ ―――― rdbrcvコマンド
によりリカバリした場合は、DSIのアクセス情報を復元します。 (Dオプション)
(25) データベースの整合を以下の方法で確認します。
インダウトログファイルの入出力障害が発生した時に
更新中の処理が以下の状態になる可能性があります。更新の
状況を確認し、必要に応じてデータベースの再更新を行ってください。
- インダウトログの入出力障害が発生したノードで、その直前に
実行中の更新処理をコミットしていた場合、全ノードでロール
バックになっている可能性がある。
- インダウトログの入出力障害が発生したノード以外で、その直前
にロールバックした更新が、インダウトログの入出力障害が発生
したノード内のデータベースでコミットになっている可能性がある。