概説およびインストール (OS/2 版)

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

DB2 バージョン 5.0 または 5.2 からバージョン 7 へ移行する場合、 DB2 バージョン 7 をインストールする前にデータベースおよびインスタンスを準備する必要があります。 バージョン 6 から更新する場合は、 バージョン 7 のインストールに先立って行う必要のある作業はありません。

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

Windows および OS/2 では、 1 つのマシンには DB2 の 1 つのバージョンしかインストールできません。 たとえば、 DB2 バージョン 6 がインストールされているマシンにバージョン 7 をインストールすると、 インストールの際にバージョン 6 は削除されます。

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

このセクションでは、 DB2 バージョン 7 への移行後も使用できる形式に既存の DB2 バージョン 5.x データベースおよびインスタンスを準備する方法を説明します。 複数のインスタンスを移行する場合には、 それぞれのインスタンスについてこれらのステップを繰り返さなければなりません。

移行のためにご使用のデータベースを準備するには、 以下のことを実行します。

  1. 移行の準備をしている DB2 インスタンスが所有するデータベースが、 どのアプリケーションによっても使用されていないことを確認します。 インスタンスが所有するすべてのアプリケーションのリストを入手するには、 db2 list applications コマンドを入力してください。 すべてのアプリケーションが切断されると、このコマンドは次のメッセージを戻します。
       SQL1611W No data was returned by the Database System Monitor.
       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. データをオブジェクトにインポートまたはロードします。

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


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