DB2® データベースのリストア

データベースが壊れた場合、あるいは一部の変更を元に戻したい場合に、いずれかのバックアップ・ファイルからデータベースを前の状態に戻すことができます。選択したバックアップ手順に応じて、オフライン・バックアップ・ファイルまたはオンライン・バックアップ・ファイルを使用します。後者の場合、データベースの整合性を保つためにアーカイブ・ログのリストアも行う必要があります。

オフライン・バックアップ・ファイルからのデータベースのリストア

オフライン・バックアップ・ファイルは、データベース全体のコピーで、バックアップが作成された時点までにデータベースに対して実行されたすべてのトランザクションが含まれます。したがって、データベースのリストアに必要なものは、このバックアップ・ファイルのみです。

手順

  1. 接続を終了して、データベースを非アクティブにします。
    注: TEMADB is the default database name. If you are unsure whether it applies to your database, see: Checking the database name.
    db2 terminate
    db2 deactivate db TEMADB
  2. オフライン・バックアップ・ファイルからデータベースをリストアします。
    db2 restore db TEMADB from <location> taken at <timestamp> replace existing
  3. ソフトウェア・カタログをアップロードして、データ・インポートの問題を回避します。この時点で、サーバーとデータベースの内容との間になんらかの矛盾がある可能性があります。これは、アップロード後に解決されます。

オンライン・バックアップ・ファイルからのデータベースのリストア

オンライン・バックアップ・ファイルも、データベース全体のコピーですが、 バックアップの作成中にデータベースに対して実行されていたトランザクションは含まれていない可能性があります。そのため、バックアップ・ファイルを、最新のトランザクションが含まれているアーカイブ・ログで補完する必要があります。適切なアーカイブ・ログを選択することで、データベースを最新の状態にリストアしたり、 以前のいずれかの状態にリストアしたりすることが可能です。

最新状態へのリストア

データベースを最新の状態にリストアするには、いずれかのオンライン・バックアップ・ファイル (最新のものが望ましい) を使用し、 その後、それ以降のアーカイブ・ログをすべて適用します。すべてのアーカイブ・ログを 1 つのディレクトリーに保存している場合は、 適切なアーカイブ・ログが自動的に適用されます。

手順

  1. 接続を終了して、データベースを非アクティブにします。
    注: TEMADB is the default database name. If you are unsure whether it applies to your database, see: Checking the database name.
    db2 terminate
    db2 deactivate db TEMADB
  2. オンライン・バックアップ・ファイルからデータベースをリストアします。
    db2 restore database TEMADB from <location> taken at <timestamp> replace existing
  3. バックアップ・ファイルの作成後に保存されたすべてのアーカイブ・ログをリストアします。
    db2 rollforward db TEMADB to end of logs and stop log path (/var/archive_logs)
  4. データベースをアクティブにして、BigFix Inventory サーバーを再始動し、データベースへの接続を復元します。
    db2 activate db TEMADB
    /etc/init.d/BFIserver restart
  5. ソフトウェア・カタログをアップロードして、データ・インポートの問題を回避します。この時点で、サーバーとデータベースの内容との間になんらかの矛盾がある可能性があります。これは、アップロード後に解決されます。

以前のいずれかの状態へのリストア

データベースを以前のいずれかの状態にリストアすることもできます。これにより、それ以降に実行された、データベースを壊した可能性があるすべてのトランザクションを無効にすることができます。このような場合、保管しているすべてのアーカイブ・ログではなく、バックアップ・ファイルにバンドルされている一部のアーカイブ・ログのみを適用します。これらのバンドルされたログには、バックアップ作成時に正しい状態であったトランザクションのみが含まれています。これらをバックアップ・ファイルから抽出することができます。

手順

  1. 接続を終了して、データベースを非アクティブにします。
    注: TEMADB is the default database name. If you are unsure whether it applies to your database, see: Checking the database name.
    db2 terminate
    db2 deactivate db TEMADB
  2. オンライン・バックアップ・ファイルからトランザクション・ログを抽出します。何らかのログがデータベースに適用されるまでデータベースをアクティブにすることができないため、このステップは必要です。
    db2 restore database TEMADB logs from <online backup file> LOGTARGET /var/extracted_logs/
    注: 抽出されたログ・ファイルの場所が、他のすべてのアーカイブ・ログを保管している場所とは異なる場所になるようにしてください。
  3. オンライン・バックアップ・ファイルからデータベースをリストアします。
    db2 restore database TEMADB from <location> taken at <timestamp> replace existing
  4. 抽出したアーカイブ・ログを適用します。
    db2 rollforward database TEMADB to end of logs overflow log path (/var/extracted_logs/)
  5. データベースをアクティブにして、BigFix Inventory サーバーを再始動し、データベースへの接続を復元します。
    db2 activate db TEMADB
    /etc/init.d/BFIserver restart
  6. ソフトウェア・カタログをアップロードして、データ・インポートの問題を回避します。この時点で、サーバーとデータベースの内容との間になんらかの矛盾がある可能性があります。これは、アップロード後に解決されます。