ロールフォワードの使用

ROLLFORWARD DATABASE コマンドを使用して、データベース・ログ・ファイルに記録されたトランザクションを、リストアされたデータベース・バックアップ・イメージまたは表スペース・バックアップ・イメージに適用します。

始める前に

ロールフォワード・リカバリーを実行するデータベースに接続していてはなりません。 ロールフォワード・ユーティリティーは指定されたデータベースに自動的に接続を確立し、この接続はロールフォワード操作が完了すると終了します。

このタスクについて

進行中のロールフォワード操作をキャンセルせずに表スペースをリストアすることはしないでください。 そうしてしまうと、ある表スペースはロールフォワード進行状態にあり、別の表スペースはロールフォワード・ペンディング状態にある、という状態になることがあります。 進行中のロールフォワード操作は、ロールフォワード進行状態にある表スペース上でのみ作動します。

データベースは、ローカルとリモートのいずれかです。

ロールフォワード・ユーティリティーには、以下の制限が適用されます。
  • ロールフォワード操作は一度に 1 つしか起動することができません。 リカバリーする表スペースが多数ある場合は、それらすべてを同一の操作に指定することができます。
  • 最後に実行したバックアップの後で表スペースの名前を変更した場合、 その表スペースをロールフォワードする際には必ず新しい名前を使用してください。 以前の表スペースの名前は認識されません。
  • 実行中のロールフォワード操作をキャンセルすることはできません。 完了したロールフォワード操作のみキャンセルすることができます。ただし、STOP パラメーターが指定されていない操作、または完了前に失敗したロールフォワード操作はキャンセルできません。
  • 前のタイムスタンプよりも小さいタイムスタンプを指定して、ある時点まで表スペースのロールフォワード操作を続行できません。 特定のポイント・イン・タイムが指定されない場合は、 直前の ROLLFORWARD 操作のタイム・スタンプのポイント・イン・タイムが使用されます。 STOP を指定するだけで、指定したポイント・イン・タイムで終了するロールフォワード操作を実行することができます。ただし、これは関係する表スペースがすべて同一のオフライン・バックアップ・イメージからリストアされた場合にのみ可能です。 この場合、ログ処理は必要ありません。 進行中のロールフォワード操作が完了する前またはキャンセルされる前に、 別のロールフォワード操作を別の表スペース・リストで開始すると、 エラー・メッセージ (SQL4908) が戻されます。 すべてのデータベース・パーティションで LIST TABLESPACES コマンドを呼び出し (または MON_GET_TABLESPACE 表関数を使用)、現在ロールフォワードされている表スペース (ロールフォワード進行状態)、およびロールフォワードの準備ができている表スペース (ロールフォワード・ペンディング状態) を判別します。 次の 3 つのオプションがあります。
    • すべての表スペースに対する進行中のロールフォワード操作を終了する。
    • 表スペースのサブセットに対するロールフォワード操作を終了する。 (ロールフォワード操作が特定のポイント・イン・タイムまで継続するようになっている場合、 すべてのデータベース・パーティションがかかわるため、このオプションは使用できないことがあります。)
    • 進行中のロールフォワード操作をキャンセルする。
  • パーティション・データベース環境では、 ロールフォワード・ユーティリティーはデータベースのカタログ・パーティションから起動する必要があります。
  • 表スペースのポイント・イン・タイム・ロールフォワードは、 Db2® バージョン 9.1 クライアントで導入されました。 表スペースを特定の時点にロールフォワードするには、すべてのクライアントを バージョン 11.5 にアップグレードする必要があります。
  • 異なるリリースのバージョンのログをロールフォワードすることはできません。

プロシージャー

ロールフォワード・ユーティリティーを起動するには、以下を使用します。
  • ROLLFORWARD DATABASE コマンド、または
  • db2Rollforward アプリケーション・プログラミング・インターフェース (API)。
  • IBM® Data StudioROLLFORWARD DATABASE コマンドのタスク・アシスタントを開きます。

CLP によって発行する ROLLFORWARD DATABASE コマンドの例を以下に示します。

db2 rollforward db sample to end of logs and stop