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

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

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

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

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

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

注意

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

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

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

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

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

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

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

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

1)で特定したリカバリポイントまでリカバリします。

ETERNUSのEC機能を利用する場合

ETERNUSのEC(Equivalent Copy)機能を利用します。下記の例は、誤操作を行う直前のバックアップ世代が1の場合です。

swstdevdispコマンドでデータベーススペース名からAdvancedCopy Managerデバイス名を特定します。

> rdbexspc -mdetach -p 在庫管理DB.DBSP_1

> swstdevdisp -tb 
Server Device Size         Device-Mode   Mount-Point (Method)             Backup-Engine
job2   g1d1p2    1.0 Gbyte Transaction   在庫管理DB.DBSP_1/grp1/rdbsys1 (SymfoWARE) AdvancedCopy

> swstcancelsync g1d1p2
> swstrestore -bundle -g 1
              -e _SYMFORDBSYSTEM_100_100_20070318_103059_012324_ g1d1p2
ETERNUSのOPC機能を利用する場合

ETERNUSのOPC(One Point Copy)機能を利用します。下記の例は、誤操作を行う直前のバックアップ世代が1の場合です。

swstdevdispコマンドでデータベーススペース名からAdvancedCopy Managerデバイス名を特定します。

> rdbexspc -mdetach -p 在庫管理DB.DBSP_1

> swstdevdisp -tb 
Server Device Size         Device-Mode   Mount-Point (Method)             Backup-Engine
job2   g1d1p2    1.0 Gbyte Transaction   在庫管理DB.DBSP_1/grp1/rdbsys1 (SymfoWARE) AdvancedCopy

> swstrestore -bundle -g 1
              -e _SYMFORDBSYSTEM_100_100_20070318_103059_012324_ g1d1p2

注意

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

3) 正常な操作の再実行

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

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

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

ETERNUSのEC(Equivalent Copy)機能を利用する場合
> swstbackup g1d1p2
> swststartsync g1d1p2
ETERNUSのOPC(One Point Copy)機能を利用する場合
> swstbackup g1d1p2