概説およびインストール、EEE (Windows** 版)

DB2 の旧バージョンからの移行

バージョン 5.0 またはバージョン 5.2 から DB2 バージョン 7 に移行する場合には、 DB2 バージョン 7 をインストールする前にご使用のデータベースおよびインスタンスを準備しなければなりません。バージョン 6 からアップグレードする場合には、バージョン 7 をインストールする前の準備はありません。

バージョン 5.0 以前のデータベースおよびインスタンスからの移行は DB2 バージョン 7 ではサポートされていません。

バージョン 5.x またはバージョン 6 データベース・システムから DB2 エンタープライズ拡張エディション バージョン 7 データベース・システムに移行する場合、選択するインストール・オプションによっては、インストール・プログラムはすべてのインスタンスをバージョン 7 の複数区画、または単一区画の形式に移行します。データの入った表をもつデータベースを移行している場合、データベース区画サーバーをシステムに追加し、データベース区画を越えてデータを再配布する方法の詳細について、 管理の手引き を参照してください。

DB2 エンタープライズ拡張エディションのインストール後、 DB2 の旧バージョンで作成したデータベースが、自動的に DB2 の新しいバージョンで作動するわけではありません。インスタンスとデータベースを移行するには、このセクションで説明されるステップに従ってください。

Windows では、1 つのマシンにインストールできる DB2 のバージョンは 1 つだけです。たとえば、すでに DB2 バージョン 6 があるところにバージョン 7 をインストールすると、インストール中にバージョン 6 は削除されます。

データベースおよびインスタンスの移行準備

このセクションでは、既存の DB2 バージョン 5.x データベースおよびインスタンスを、 DB2 バージョン 7 で使える形式に移行するための準備方法を説明します。複数のインスタンスを移行する場合、インスタンスごとにこのステップを繰り返す必要があります。

データベースの移行準備をするために、以下のことを行います。

  1. 移行しようとしている DB2 インスタンスの所有するデータベースが、どのアプリケーションによっても使用されていないことを確認します。インスタンスが所有するすべてのアプリケーションのリストを入手するには、 db2 list applications コマンドを入力してください。すべてのアプリケーションが切断されたら、このコマンドにより、次のメッセージが戻されます。
       SQL1611W データベース・システム・モニターからデータが戻されませんでした。
       SQLSTATE=00000
    

    db2 terminate コマンドを入力すると、セッションを終了できます。

  2. すべてのデータベースがカタログされていることを確認します。現在のインスタンスでカタログされているすべてのデータベースのリストを表示するには、次のコマンドを入力します。
       db2 list database directory
    
  3. バージョン 5.x データベースすべてのバックアップ・コピーを作成します。バージョン 6 データベースについては、バックアップをとる必要はありません。データベースのバックアップ・コピーの作成方法の詳細については、ご使用の DB2 製品の管理の手引き を、バックアップ・コマンドの構文の詳細については、 コマンド解説書 を参照してください。
  4. すべてのアプリケーションを完了し、データベースのバックアップをとったら、 db2stop コマンドを発行し、 DB2 インスタンスが所有するすべてのデータベース・サーバー・プロセスを停止します。
  5. db2licd -end コマンドを入力し、 DB2 ライセンス・デーモンを停止します。
  6. コマンド行プロセッサーを実行していた各セッションで db2 terminate コマンドを入力して、すべてのコマンド行プロセッサー・セッションを停止します。

次に、DB2 バージョン 7 をインストールする前に、カタログされたすべてのデータベースが移行できる状態であることを確認します。

データベース移行準備完了の確認

データベースを DB2 バージョン 7 形式に移行できることを確認するには、 DB2 バージョン 7 をインストールする前に、 db2ckmig コマンドを実行する必要があります。
注:このセクションは、DB2 バージョン 5.x で作成したデータベースだけに適用されます。 DB2 V6 で作成したデータベースに対してこのコマンドを実行する必要はありません。

db2ckmig コマンドを実行するには、次のようにします。

  1. DB2 バージョン 7 製品の CD-ROM をドライブに挿入します。
  2. x:\db2\common ディレクトリーに変更します。 x: は、CD-ROM ドライブ名です。
  3. db2ckmig コマンドを入力し、システム上のデータベースを正しく移行できることを確認します。コマンドの構文は、以下のとおりです。
    DB2CKMIG コマンド
     
    >>-db2ckmig----+-database_alias-+--/l--drive:\path\filename------>
                   '-/e-------------'
     
    >-----+---------------------------+----------------------------><
          '-/u--userid--/p--password--'
     
    

    database_alias
    移行検査されるデータベースの database_alias 名を指定します。このパラメーターが必須になるのは、 /e パラメーターが指定されていない場合です。

    /e
    カタログされたデータベースすべてが移行検査されることを指定します。このパラメーターが必須になるのは、 database_alias パラメーターが指定されていない場合です。

    /l drive:\path\filename
    スキャンされたデータベースについて生成されたエラーおよび警告のリストを入れておく、ドライブ、宛先パス、およびファイル名を指定します。 path 変数は任意指定です。パスを指定しない場合、 db2ckmig コマンドを実行するときのパスが使われます。 filename は指定しなければなりません。

    /u userid
    データベースへ接続するときに使うユーザー・アカウントを指定します。 CONNECT 権限なしのユーザーとしてログオンする場合に、このパラメーターを指定する必要があります。

    /p password
    データベースへ接続するときに使うユーザー・アカウントのパスワードを指定します。 CONNECT 権限なしのユーザーとしてログオンする場合に、このパラメーターを指定する必要があります。

    リモート・システムについては、db2ckmig コマンドを入力できます。データベース・パラメーターとしては、リモート・データベースの database_alias 名を指定するようにします。このコマンドは、任意のデータベース区画サーバーから実行できます。ファイルは、ローカル・システムに書き込まれます。

    たとえば、システムでカタログされたすべてのデータベースが移行可能であることを確認し、このコマンドで生成されたすべてのメッセージを c:\temp\message.txt ファイルに記録する場合、次のコマンドを入力します。

       x:\db2\common\db2ckmig /e /l c:\temp\message.txt
    

    ここで、x: は使用する CD-ROM ドライブを表します。

  4. エラーが生じる場合、db2ckmig コマンドは、ログ・ファイルを生成し、それを /l オプションで指定したパスおよびファイルに格納します。エラーが発生したら、その情報を参照して、示されている訂正処置に従ってください。エラーを訂正したら、db2ckmig コマンドを再入力し、データベースが移行できる状態であることを確認します。
  5. データベースのバックアップ・コピーを作成します。詳細については、管理の手引き を参照してください。

生じる可能性のある DB2CKMIG エラー条件

データベースがバックアップ保留状態にある (A database is in backup pending state)

データベースのバックアップを実行します。

データベースがロールフォワード保留状態にある (A database is in roll-forward pending state)

必要に応じてデータベースを回復します。ログの終わりまでデータベースのロールフォワードを実行または再開してから停止します。

表スペース ID が正常な状態にない (Table space ID is not in normal state)

必要に応じてデータベースおよび表スペースを回復します。ログの終わりまでデータベースのロールフォワードを実行または再開してから停止します。

データベースが不整合な状態である (A database is in an inconsistent state)

データベースを再起動し、整合した状態に戻します。

構造型の名前と関数の名前が同じ (Structured type and function have the same name)

同じスキーマに属している構造型と関数 (引き数をとらない) に同じ名前を付けてはなりません。タイプまたは関数、およびタイプまたは関数を使用するオブジェクトを除去してから、別の名前を使用して再作成する必要があります。このエラーを訂正するには、以下のようにします。

  1. データベースをバックアップします。
  2. 構造型または関数に従属している表からデータをエクスポートします。
  3. 構造型または関数に従属している表をドロップしてから、構造型または関数をドロップします。これらをドロップすると、視点、索引、トリガー、関数など、他のオブジェクトもドロップされる場合があります。
  4. 異なるタイプ名または関数名を使用して構造型または関数を作成し、その新しい構造型または関数名を使用して表を再作成します。ドロップした視点、索引、トリガー、関数なども再作成します。
  5. データをオブジェクトにインポートまたはロードします。

データベースに、ユーザー定義の特殊タイプ (UDT) が含まれており、それらはタイプ名 BIGINT、DATALINK、または REFERENCE を使用している (The database contains user-defined distinct types (UDTs) that use the type name BIGINT, DATALINK, or REFERENCE.)

これらのデータ・タイプ名は、バージョン 7 データベース・マネージャー用に予約済みです。このエラーを訂正するには、以下のようにします。

  1. データベースをバックアップします。
  2. それらのデータ・タイプに従属している表からデータをエクスポートします。
  3. それらのデータ・タイプに従属している表をドロップしてから、データ・タイプをドロップします。これらをドロップすると、視点、索引、トリガー、関数など、他のオブジェクトもドロップされる場合があります。
  4. 異なるタイプ名または関数名を使用してデータ・タイプを作成し、その新しいデータ・タイプ名を使用して表を再作成します。ドロップした視点、索引、トリガー、関数なども再作成します。
  5. データをオブジェクトにインポートまたはロードします。

このような状態を訂正するのに必要な処置の詳細については、 管理の手引き を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]