BACKUP DATABASE を使用してバックアップされた損傷のある、 または破壊されたデータベースを再作成します。 復元されたデータベースは、バックアップ・コピーが行われた時と同じ状態になります。 このユーティリティーは、新規のデータベースに復元できるほかに、 バックアップ・イメージのデータベース名と異なる名前のデータベースにも復元することができます。
このユーティリティーは、 DB2 の前の 2 つのバージョンによって生成されたバックアップ・イメージを復元するためにも使用できます。 移行が必要な場合、これは復元の終了時に自動的に発行されます。
バックアップ操作のときに、データベースがすべてのロールフォワード回復に対して使用可能である場合、 RESTORE DATABASE が正常に実行された後に、ROLLFORWARD DATABASE コマンドを出すことによって、 データベースを損傷または破壊が起きる前の状態に戻すことができます。
このユーティリティーは、表スペース・レベルのバックアップから復元することもできます。
異なるワークステーション・プラットフォームにバックアップしたデータベースを復元するには、 db2move - データベース移動ツールを使用します。
効力範囲
このコマンドは、それが実行されたノードに対してだけ影響を与えます。
許可
既存のデータベースに復元するには、以下のどれかが必要です。
新規データベースに復元するには、以下のどれかが必要です。
必須接続
データベース (既存のデータベースに復元する場合)。
インスタンスおよびデータベース (新規データベースに復元する場合)。 インスタンスの接続は、データベースを作成するのに必要です。
新規のリモート・データベースに復元するには、 まず新規データベースを置くインスタンスに接続する必要があります。
コマンド構文
>>-RESTORE----+-DATABASE-+--source-database-alias---------------> '-DB-------' >-----+-| restore-options |-+---------------------------------->< +-CONTINUE------------+ '-ABORT---------------' restore-options |---+---------------------------------------+-------------------> '-USER--username--+------------------+--' '-USING--password--' >-----+--------------------------------------------------------+> +-TABLESPACE ONLINE--------------------------------------+ | .-,------------------. | | V | | +-TABLESPACE--(-----tablespace-name---+---)--+---------+-+ | '-ONLINE--' | '-HISTORY FILE--+---------+------------------------------' '-ONLINE--' >-----+---------------------------------------------------------+> +-USE TSM--+-------------------------------+--------------+ | '-OPEN--num-sessions--SESSIONS--' | | .-,----------------. | | V | | +-FROM------+-directory-+--+------------------------------+ | '-device----' | '-LOAD--shared-library--+-------------------------------+-' '-OPEN--num-sessions--SESSIONS--' >-----+----------------------+---+-----------------------+------> '-TAKEN AT--date-time--' '-TO--target-directory--' >-----+------------------------------+--------------------------> '-INTO--target-database-alias--' >-----+------------------------+--------------------------------> '-NEWLOGPATH--directory--' >-----+-----------------------------+---------------------------> '-WITH--num-buffers--BUFFERS--' >-----+----------------------+---+---------------------+--------> '-BUFFER--buffer-size--' '-DLREPORT--filename--' >----+------------------+---+----------+----+-----------------+-> '-REPLACE EXISTING-' '-REDIRECT-' '-PARALLELISM--n--' >----+-------------------------+---+------------------+---------> '-WITHOUT ROLLING FORWARD-' '-WITHOUT DATALINK-' >----+-------------------+--------------------------------------| '-WITHOUT PROMPTING-'
コマンド・パラメーター
注: | OS/2 または Windows オペレーティング・システムでは、
DB2 が生成するディレクトリーを指定してはなりません。
たとえば、次のようなコマンドを実行するとします。
db2 backup database sample to c:\backup db2 restore database sample from c:\backup DB2 は c:\backup ディレクトリーにサブディレクトリーを生成しますが、 これらは無視されます。 復元するバックアップ・イメージを正確に指定するためには、 TAKEN AT パラメーターを使用します。 複数のバックアップ・イメージを同じパスに保管することもできます。 |
複数の項目が指定され、項目の最後がテープ装置である場合には、他のテープが要求されます。 有効な応答オプションは、次のとおりです。
テープは OS/2 ではサポートされていません。 OS/2 の場合、 0 または 0: を指定すると、 ユーザー出口プログラムが呼び出されて、 復元操作が起きます (管理の手引き を参照)。 このオプションは、他のプラットフォームでは無効です。
注: | ユーザー出口プログラムが復元を実行するために使用されている場合は、 リダイレクトした復元は認められていません。 |
注: | Windows オペレーティング・システムおよび OS/2 上では、 このパラメーターを使用する場合はドライブ文字だけを指定してください。 さらに長いパスを指定すると、エラーが戻されます。 |
復元バッファー・サイズは、 バックアップ操作中に指定したバックアップ・バッファー・サイズに正の整数を乗算したサイズでなければなりません。 誤ったバッファー・サイズを指定すると、 割り振られるバッファーは、許容可能な最小のサイズになります。
テープ装置を使用するには、SCO UnixWare 7 上の DB2 ユーザーは、 バッファー・サイズを 16 に指定する必要があります。
注: | 同一のリダイレクトした復元に関連したコマンドはすべて、 同じウィンドウまたは CLP セッションから実行しなければなりません。 |
正常な復元に続いて、データベースがロールフォワード保留状態にある場合には、 データベースが使用できるようになる前に、ROLLFORWARD DATABASE を実行しなければなりません。
注: | テープやディスケットなどの取り外し可能媒体装置を使用している場合、 このオプションを指定していても、その装置の終わりにはプロンプトが出されます。 |
例
以下は、別名が MYDB であるデータベースの典型的なリダイレクトした復元のシナリオです。
db2 restore db mydb replace existing redirect
ステップ 1 が正常終了した後でステップ 3 が完了する前に、 次を発行して復元を打ち切ることができる。
db2 restore db mydb abort
db2 set tablespace containers for 5 using (file 'f:\ts3con1' 20000, file 'f:\ts3con2' 20000)
復元したデータベースのコンテナーが、 このステップで指定したものであることを検査するために、 LIST TABLESPACE CONTAINERS コマンドを発行する。
db2 restore db mydb continue
これはリダイレクトした復元の最終ステップです。
使用上の注意
データベースおよび表スペースの両方の復元で、 復元ユーティリティーは、複数の表スペースから同時に読み取り、 複数の場所にある装置に同時に書き込むことができます。
データベース・レベルの復元
既存のデータベースに復元する場合、現行データベースの構成ファイルは、 その構成ファイルが破壊されない限り、バックアップ・コピーで置換されません。
WITHOUT ROLLING FORWARD が指定されず、データベースがバックアップされた時点で、 ロールフォワード回復が使用可能であった場合には、 データベースは正常に復元された後で、 ロールフォワード保留状態になります。
データベースの状態を検査するには、 GET DATABASE CONFIGURATIONを使用してください。 データベースがロールフォワード保留状態にある場合には、 使用できるようになる前に、 データベースに対して ROLLFORWARD DATABASEを発行しなければなりません。
BACKUP および RESTORE は、別のファイル・システムまたはノードに、 データベースをコピーするのに使用することもできます。
復元されたバックアップ・ファイルが、オンライン・バックアップ中に作成された場合には、 順方向回復が、必ず復元の完了時に呼び出されます。 順方向回復 (ROLLFORWARD DATABASE を使用する) により、 バックアップ操作の途中で発生したすべての変更がキャプチャーされ、 データベースを安定状態にすることが確認されます。
オフラインの復元の場合、このユーティリティーは、排他モードでデータベースに接続します。 呼び出しアプリケーションを含む、どんなアプリケーションでも、 復元されるデータベースにすでに接続していると、そのユーティリティーは失敗します。
復元中に割り込みが発生すると、正常な復元が完了するまで、 データベースに正常に接続することが不可能になります。
バックアップ・イメージは、 BACKUP DATABASE コマンドによって作成されたイメージでなければならず、 ディスク、ディスケット (OS/2 または Windows オペレーティング・システムの場合)、 テープ、TSM ユーティリティー、またはベンダーの他の製品管理媒体に存在します。 テープは OS/2 ではサポートされていません。
データベース・バックアップが既存のデータベースに復元される際、 データベースは既存データベースの別名とデータベース名を継承します。 存在しないデータベースに復元される場合は、新規データベースが、 target-database-alias パラメーターで指定された別名とデータベース名を用いて作成されます。 宛先データベースの別名が指定されないと、そのデータベースは、 バックアップ・データベースの別名とデータベース名を継承します。
リモート・クライアントが復元を開始しても構いませんが、 ソースおよびターゲットは、常にサーバーに存在するエンティティーを参照します。
データベースの復元には、この解説書で扱う範囲を超える、 前提条件の要件と制約がある可能性があります。 これらの条件の詳細については、管理の手引き を参照してください。
表スペース・レベルの復元
復元した表スペースが、他のデータベースと同期化されていることを確認するには、 ログの最後まで (または表スペースを最後に使用したところまで) 表スペースの下方ロールを行わなければなりません。 このため、表スペース・レベルのバックアップおよび復元が行えるのは、 ロールフォワード回復が可能な場合のみです。 表スペース・レベル・バックアップを実行した後に、 ロールフォワード回復が行えない場合、バックアップから復元することができないため、 早めに現時点まで表スペースの下方ロールを行ってください。 この場合、 その時点より前に取った表スペース・レベルのバックアップはすべて復元できなくなります。 そのようなバックアップを復元しようとすると、復元操作は失敗します。 バックアップが無効であるかどうかを判別できない場合 (たとえば、 データベースが復元およびロールフォワードされており、 それによって新しいログ順序列が作成されている場合)、 復元は成功することがあり、ロールフォワード回復処理中に、 壊れた復元セットが検出されることになります。
表のそれぞれの構成要素は、同じ表の他の構成要素からは独立させて、 常駐している表スペースでバックアップを取り、復元させることが可能です。
表スペース・レベルのバックアップと復元は、同時に実行することはできません。
バックアップを実行した後に名前変更した表スペースを復元する場合、 復元コマンドでは、変更後の新しい表スペース名を使用する必要があります。 以前の表スペース名を使用しても、それは見つかりません。
DB2 データ・リンク・マネージャーに関する考慮事項
バックアップ・イメージと異なるデータベース名または別名への復元を行うとき、 DATALINK 列のある表は DRNP 状態に置かれます。
WITHOUT DATALINK オプションを指定せず、 かつ DATALINK データを含む DB2 ファイル・マネージャーが使用できなくなった場合、 復元操作は失敗します。 このオプションを指定していた場合で、 DATALINK データを含む DB2 ファイル・マネージャーが使用できなくなったときは、 使用できなくなったサーバーで DATALINK 値を持っていた表を含むすべての表スペースが、 復元保留状態になります。
DB2 データ・リンク・マネージャーとデータベース回復の詳細については、管理の手引き を参照してください。
以下も参照