テンポラリログファイルのリカバリには、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が属するロググループのアーカイブログ退避データを指定する必要があります。