既存データベースへのリストア

データベース・レベルのリストアの場合、バックアップ・イメージの別名、データベース名、またはデータベース・シードは、既存のデータベースとは異なる場合があります。 データベース・シードとは、 データベースの持続期間中変更されない、そのデータベース固有の ID のことです。

データベース・マネージャーは、データベースが作成されるときにシードを割り当てます。 Db2® は、常にバックアップ・ image.You が表スペースを既存のデータベースにリストアできるのは、表スペースが存在し、表スペースが同じである場合のみです。つまり、表スペースをドロップしてから、バックアップ操作とリストア操作の間に再作成しなかったということです。 ディスク上のデータベースとバックアップ・イメージ内のデータベースは同じでなければなりません。表スペースのリストア時に、現在定義されているストレージ・グループを変更したり、明示的に新規ストレージ・グループを作成したりすることはできません。

データベースの既存のイメージで RESTORE DATABASE を実行するには、まず、connect_proc パラメーターを NULL にリセットする必要があります。 connect_procNULL に設定しておかないと、接続やロールフォワードのコマンドを実行したときに、エラー SQL0440N が発生することがあります。 このエラーを回避するには、 db2 update db cfg for <DATABASE> using connect_proc NULL コマンドを使用して connect_proc パラメーターを NULL に更新する必要があります。

既存データベースにリストアする場合、リストア・ユーティリティーは以下のアクションを実行します。

  • 既存のデータベースから表、索引、およびロング・フィールドのデータを削除し、 バックアップのデータに置き換える。
  • リストアしている表スペースごとに表項目を置き換える。
  • リカバリー履歴ファイルを保持する (損傷していたり、項目がない場合を除く)。 リカバリー履歴ファイルが損傷を受けているか、その中に項目がない場合は、 データベース・マネージャーはバックアップ・イメージからファイルをコピーします。 リカバリー履歴ファイルを置き換える場合は、 REPLACE HISTORY FILE パラメーターを指定して RESTORE DATABASE コマンドを発行できます。
  • 既存データベースの認証タイプを保持する。
  • 既存データベースのデータベース・ディレクトリーを保持する。 ディレクトリーは、データベースの場所とカタログ方法を定義します。
  • データベース・シードを比較する。 シードが異なる場合、ユーティリティーは以下のアクションを実行します。
    • 既存データベースに関連するログを削除する。
    • データベース構成ファイルをバックアップ・イメージからコピーする。
    • NEWLOGPATH パラメーターを指定した場合、 RESTORE DATABASE コマンドの NEWLOGPATH パラメーターを logpath データベース構成パラメーターの値に設定します。
    データベース・シードが同じである場合、ユーティリティーは以下のアクションを実行します。
    • イメージがリカバリー不能データベースのものである場合はすべてのログ・ファイルを削除する。
    • イメージがリカバリー可能データベースのものである場合は空のログ・ファイルを削除する。 空以外のログ・ファイルは影響を受けません。
    • 現在のデータベース構成ファイルを保持する。
    • NEWLOGPATH パラメーターを指定した場合、 RESTORE DATABASE コマンドの NEWLOGPATH パラメーターを logpath データベース構成パラメーターの値に設定します。 それ以外の場合、ユーティリティーは現在のログ・パスをデータベース構成ファイルにコピーする。 ログのパスを確認する。 データベースがそのパスを使用できない場合、ユーティリティーはデフォルトのログ・パスを使用するようにデータベース構成を変更する。