ページの先頭行へ戻る
Symfoware Server V11.1.0 RDB運用ガイド
FUJITSU Software

15.5.4 誤操作の直前へのリカバリ

アーカイブログ運用を行っている場合、誤操作を行う直前の状態にデータをリカバリすることができます。

下図に、目的の業務を行った後に複数のコマンド操作(操作1、2)を行ったあと、誤操作(操作3)を行ってしまった場合の例を示します。

なお、ここで説明しているコマンド操作とは、以下のいずれかのコマンドによる操作を表します。

バックアップを取得してから最初に行った操作の直前の時点(図中の矢印の時点)を特定し、その時点にリカバリ後、正しく行った操作を再実行してリカバリします。また、リカバリ後には業務再開に向けてバックアップを取得します。

注意

  • バックアップ取得後に最初の操作(上図の操作1)の時点で、並行して業務アプリケーションが動作していた場合は、正しくリカバリすることができません。

  • リカバリ操作を行う際、表のDSIと表のDSIに定義されているインデックスのDSIを割り当てているデータベーススペースをすべて指定してください。すべて指定していない場合は、リカバリ対象のデータベーススペースに割り当てられているDSIの領域にアクセス禁止状態が設定されます。

1) バックアップ取得以降の最初の操作時点の特定

バックアップ取得以降の最初の操作(図中の操作1)の時点を特定します。

リカバリの対象となるコマンド操作(“表6.1 誤操作とリカバリ対象”を参照)を行ったときには、RDBREPORTで指定したメッセージログファイルの中から、qdg14119iのメッセージを探してください。出力されているメッセージから、誤操作を行った資源(DSI)に一致するコマンドとリカバリポイントを確認してください。

在庫表DSI1に対してrdbsloaderコマンドを実行した場合のメッセージは以下のように出力されています。

qdg14119i:リカバリポイントを設定しました 操作='rdbsloader'
 対象資源='在庫管理DB.在庫表DSI1' リカバリポイント名
='_SYMFORDBSYSTEM_100_100_20070318_103059_012324_'

2) 誤操作の直前までデータをリカバリ

バックアップ時点から、最初に行われた誤操作の直前までリカバリします。

$ rdbexspc -mdetach -p 在庫管理DB.DBSP_1
$ rdbmrrcv -P -p 在庫管理DB.DBSP_1 -f /back -w /tmp
           -E _SYMFORDBSYSTEM_100_100_20070318_103059_012324_

注意

誤操作がrdbfmtコマンドの場合、rdbfmtコマンド実行前の時点にリカバリを行うと、表のDSIのみがリカバリされ、関連するインデックスのDSIはリカバリされません。この場合は、rdbsloaderコマンドのxオプション(インデックスのDSIの創成)を実行してインデックスをリカバリしてください。

3) 正常な操作の再実行

リカバリの時点以降に行った正常な操作(コマンド、トランザクション)だけを再実行します。

4) 業務再開に向けたバックアップ

業務再開に向けてバックアップを行います。

$ rdbmrdmp -D -p 在庫管理DB.DBSP_1 -f /back_tmp
$ rdbmrdmp -p 在庫管理DB.DBSP_1 -f /back_tmp