テンポラリログファイルのリカバリには、Symfoware/RDB運用中に行う方法と、Symfoware/RDB停止中に行う方法があります。Symfoware/RDB運用中のリカバリは、Symfoware Server Enterprise Extended Editionで利用できます。
テンポラリログファイルに入出力障害が発生した場合、Symfoware/RDBは自動的にフォールバック運用になります。このため、業務スケジュールの都合が良い時間にリカバリしてください。
参照
フォールバック運用については、“RDB運用ガイド”を参照してください。
テンポラリログファイルのリカバリは、rdblogコマンドでリカバリをします。
参照
各コマンドのオプションの指定方法の詳細については、“コマンドリファレンス”を参照してください。
システムロググループの場合は、Capitalシステムの運用ノードでリカバリをしてください。
ユーザロググループの場合は、ロググループが偏在するSatelliteシステムでリカバリをしてください。
リカバリ操作の手順は、“6.5.1 Symfoware/RDB運用中のリカバリ”を参照してください。
Capitalシステムが稼動する任意のノードで、RDBNAMEにCAPITALを指定して、以下の手順でリカバリをしてください。
なお、RDBディクショナリ、または、RDBディレクトリファイルが破壊されている場合は、rdbadjrcvコマンドは実行できないため、(17)の手順を迂回して実施してください。

(1) スケーラブル型のクラスタアプリケーションに登録されているすべての
運用系および待機系のクラスタアプリケーションを保守停止します。
クラスタアプリケーションの保守停止の手順は、
“9.5 クラスタアプリケーションの保守のための停止”を
参照してください。
(2) 媒体障害の場合は、障害ボリュームを取り換え、 ―――― CE作業
ボリュームの構成情報をリカバリします。
ロググループ管理ファイルとログ管理ファイルを
テンポラリログファイルと同一のローデバイスに
配置している場合 ⇒(3)
ログ管理ファイルをテンポラリログファイルと同一
のローデバイスに配置している場合 ⇒(6)
上記以外の場合 ⇒(9)
(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) (6)でログ管理ファイルを作成した場合は、 ―――― rdblogコマンド
インダウトログファイルを再登録します。 (Aオプションかつ
同一ローデバイスにインダウトログファイルを iオプション)
配置している場合は、そのインダウトログファイル
のリカバリを行います。
“10.3.6 インダウトログファイルのリカバリ”を参照してください。
その場合、“10.3.6 インダウトログファイルのリカバリ”に記載されている
手順のうち、本手順の(1)~(10)で実施済みの操作については、
実行する必要はありません。
また、“10.3.6 インダウトログファイルのリカバリ”の手順により
インダウトログファイルのリカバリを実施した場合は、本手順の
(12)以降の操作を実行する必要はありません。
(12) インダウトログファイルが正常に登録されたことを ―――― rdblogコマンド
確認します。 (Vオプションかつ
iオプションかつ
gオプション)
(13) ユーザロググループかつ(6)によりログ管理ファイルを
作成している場合
ユーザロググループ用のRDBディレクトリファイルを再登録します。 ―――― rdbscldirコマンド
(Aオプションかつ
gオプション)
(14) ユーザロググループ用のRDBディレクトリファイルが
正常に登録されたことを確認します。 ―――― rdbscldirコマンド
(Vオプションかつ
gオプション)
(15) Symfoware/RDBを起動します。(動作確認) ―――― rdbstartコマンド
(16) Symfoware/RDBを停止します。(動作確認) ―――― rdbstopコマンド
RDBディクショナリ、または、RDBディレクトリファイルも
破壊されている場合 ⇒(18)
(17) アーカイブログファイルを使用してデータベース ―――― rdbadjrcvコマンド
をリカバリします。 (gオプション)
rdbadjrcvコマンドによって、RDBディクショナリ
がリカバリできなかった場合 ⇒(18)
rdbadjrcvコマンドによって、RDBディクショナリ
がリカバリできた場合 ⇒(19)
(18) rdbrcvdicコマンドのFWモードでRDBディクショナリと ―――― rdbrcvdicコマンド
RDBディレクトリファイルをリカバリします。 (Fオプションかつ
RDBディクショナリとRDBディレクトリファイルのリカバリは、 ddlオプション)
インクリメンタルリカバリによるリカバリを推奨します。
(縮退運転の時間が短縮できます。)
(19) リカバリしたユーザロググループ用のRDBディレクトリ ―――― rdbscldirコマンド
ファイル以外にアクセス禁止状態のユーザロググループ (Vオプション)
用のRDBディレクトリファイルが存在していた場合は、
“6.2.4 ユーザロググループ用のRDBディレクトリファイルのリカバリ”の
(3)と(4)の手順を実施します。 ⇒(20)
(20) Symfoware/RDBを起動します。 ―――― rdbstartコマンド
(18)を実行している場合 ⇒(21)
(18)を実行していない場合 ⇒(22)
(21) ホットスタンバイの使用を宣言します。 ―――― rdbhsutyコマンド
(monオプション)
(22) Symfoware/RDBを停止します。 ―――― rdbstopコマンド
(23) スケーラブル型のクラスタアプリケーションに登録されている
すべての運用系および待機系のクラスタアプリケーションの
保守停止を解除します。
クラスタアプリケーションの保守停止解除の手順は、
“9.6 クラスタアプリケーションの保守停止の解除”を
参照してください。
以下の処理はDSIが偏在するSatelliteシステムで実施してください。
(24) rdbadjrcvコマンドでリカバリできなかった資源をリカバリします。 ―――― rdbinhコマンド
(17)のrdbadjrcvコマンドを実施していないか、 (iオプション)
(18)のRDB ディクショナリのリカバリができなかった場合は、 ―――― rdbrcvコマンド
登録されたすべての資源(DSI)をrdbinhコマンドでアクセス禁止状態にし、 (Fオプション)
登録されたすべての資源(DSI)をrdbrcvコマンドのFWモードで
リカバリしてください。
(17)のrdbadjrcvコマンドでリカバリできなかった資源(DSI)は、
rdbadjrcvコマンドの実行時にメッセージで出力されます。
rdbadjrcvコマンドの実行時にメッセージで出力された
リカバリができなかった資源(DSI)をrdbinhコマンドにより
アクセス禁止状態にした後、同じ資源(DSI)をrdbrcvコマンドの
FWモードでリカバリします。
(25) 他のRDBシステム(すべてのSatelliteシステム)とデータ
ベースの整合を参照系アプリケーションなどで確認します。
アーカイブログからのリカバリ後のデータベースにおいては、
テンポラリログファイルの入出力障害が発生したノード内
のデータベースに対して、少し前にコミットした更新が、そ
のノード内だけロールバックになっている可能性があります。
データベースリカバリ後、どこまでの更新が完了しているかを
参照系アプリケーションなどで確認し、必要に応じて対象となる
ノードのデータベースの再更新を行ってください。
(26) rdbadjrcvコマンドでリカバリできなかった資源の退避 ―――― rdbdmpコマンド
データを取得します。
((17)のrdbadjrcvコマンドのFWモードでリカバリした資源(DSI)
の退避データを取得します。)
(17)のrdbadjrcvコマンドを実施していないか、
RDBディクショナリがリカバリできなかった場合は、
すべての表のDSIの退避データを取得します。
以下の処理はCapitalシステムで実施してください。
(27) RDBディクショナリのリカバリを行った場合は、RDBディクショ ―――― rdbdmpdicコマンド
ナリの退避データも取得します。備考. (4)以降の操作は当該ロググループを対象にして作業を実施します。
注意
rdbadjrcvコマンドによりデータベースのリカバリを行う際には、トランザクションの整合性を保証するため、テンポラリログファイルのAIログ域サイズ以上のアーカイブログ量が必要になります。このため、指定したアーカイブログファイル内のアーカイブログ量によってはコマンドが異常終了する場合があります。その場合は、さらに以前の退避アーカイブログファイルを併せて指定して、コマンドを再実行してください。
テンポラリログファイルの入出力障害が発生する少し前にコミットした更新がロールバックになっている可能性があります。データリカバリ後、どこまでの更新が完了しているか確認し、必要に応じて再更新などを行ってください。
スケーラブルログ運用を行っていてアーカイブログ退避データを指定する場合は、リカバリ対象のDSIが属するロググループのアーカイブログ退避データを指定する必要があります。