Symfoware/RDB運用中にリカバリする場合のリカバリ操作の手順を以下に示します。
リカバリ操作の手順
運用系のRDBシステムで、以下の手順でリカバリをしてください。
(1) 業務中にテンポラリログファイルのアクセスエラーが発生した 場合、システムメッセージを出力して 、テンポラリログファイル を閉塞します。スケーラブルログ運用を行っている場合は、 システムメッセージにより、リカバリすべきテンポラリログファイル のロググループを特定します。 ログ管理ファイルとテンポラリログファイルを同一の ボリュームに配置している場合 ⇒(2) ログ管理ファイルとテンポラリログファイルを同一の ボリュームに配置していない場合 ⇒(4) (2) ログ管理ファイルを閉塞します。 ――― rdblogコマンド (Hオプションかつ Iオプション [かつgオプション]) ロググループ管理ファイルとログ管理ファイルを同一 ローデバイスに配置している場合 ⇒(3) ロググループ管理ファイルとログ管理ファイルを同一 ローデバイスに配置していない場合 ⇒(4) (3) ロググループ管理ファイルを閉塞します。 ――― rdblogコマンド (Hオプションかつ Mオプション) (4) 媒体障害の場合は、障害ボリュームを取り換え、 ――― CE作業 ボリュームの構成情報をリカバリします。 ロググループ管理ファイル、ログ管理ファイル、テンポラリ ログファイルを同一ローデバイスに配置している場合 ⇒(5) ログ管理ファイルとテンポラリログファイルを 同一ローデバイスに配置している場合 ⇒(6) ロググループ管理ファイル、ログ管理ファイル、 テンポラリログファイルを同一ローデバイスに配置 していない場合 ⇒(7) (5) ロググループ管理ファイルをリカバリし閉塞を解除しま ――― rdblogコマンド す。 (Pオプションかつ Mオプション) (6) ログ管理ファイルをリカバリし閉塞を解除します。 ――― rdblogコマンド (Pオプションかつ Iオプション [かつgオプション]) (7) テンポラリログファイルをリカバリし閉塞を解除します。 ――― rdblogコマンド (Pオプションかつ tオプション [かつgオプション]) (8) トランザクションの状態(Tran)の“TINH”が無くなる ――― rdbcninfコマンド まで待ちます。 (9) ロールバック不可閉塞となった資源をリカバリします。 “RDB運用ガイド”の“ロールバック不可からのリカバリ” を実行してください。 (10) 目的業務を再開します。
注意
閉塞状態のテンポラリログファイルをリカバリして閉塞状態を解除するには、メモリ上の情報を使用します。そのため、テンポラリログファイルが閉塞状態のままSymfoware/RDBを停止すると、Pオプションによるリカバリを行うことはできません。必ず、Symfoware/RDBを停止する前にPオプションによりテンポラリログファイルをリカバリしてください。なお、Pオプションによりテンポラリログファイルをリカバリする前にSymfoware/RDBを停止してしまった場合は、“6.5.2 Symfoware/RDB停止中のリカバリ”に従ってリカバリしてください。
テンポラリログファイルのリカバリ後は、業務の再開が可能です。テンポラリログファイルの閉塞以前より開始していたトランザクションについては、rdbcninfコマンドで確認することができます。それらのトランザクションは、トランザクションの状態(Tran)の“TINH”が解除されるまで、以下のようになりますので、注意してください。
ロールバックされると、トランザクションで更新していた資源(DSI)は、ロールバック不可能による閉塞が行われます。
実行中にダウンすると、トランザクションで更新していた資源(DSI)は、ダウンリカバリ不可能による閉塞が行われます。
テンポラリログファイルの入出力障害以外の理由でボリューム交換を行う場合は、ボリュームの交換を行う前に、テンポラリログファイルを閉塞状態にしてください。テンポラリログファイルの閉塞は、rdblogコマンドのHオプションおよびtオプションで行います。
テンポラリログファイルの障害による影響
閉塞状態になったあとの新規のトランザクションで、更新を行うSQL文を実行するとエラーとなります。閉塞状態になった時に実行中のトランザクションにおいて、更新を行うSQL文の実行ではテンポラリログは収集されません。そのため、トランザクションがロールバックすると、トランザクション中で更新されたデータベース資源はロールバック不可で閉塞されます。また、データベースに対する更新はコミット時に媒体に書き込まれます。