非 Unicode データベースを Unicode に変換する

既存の非 Unicode データベースを Unicode データベースに変換することが必要になる場合があります。

始める前に

非 Unicode データベースからデータをエクスポートするには、十分な空きディスク・スペースが必要です。 さらに、既存の表スペースを再使用しない場合は、データ用に新規表スペースを作成するための十分な空きディスク・スペースが必要です。

プロシージャー

既存の非 Unicode データベースを Unicode データベースに変換するには、以下の手順を実行します。

  1. db2move コマンドを使用してデータをエクスポートします。
       cd export-dir
       db2move sample export
    ここで、export-dir はデータのエクスポート先のディレクトリーであり、SAMPLE は既存のデータベース名です。
  2. db2look コマンドを使用して、既存のデータベース用の DDL スクリプトを生成します。
       db2look -d sample -e -o unidb.ddl -l -x -f
    ここで SAMPLE は既存のデータベース名であり、unidb.ddl は生成される DDL スクリプトのファイル名です。 -l オプションはユーザー定義表スペース、データベース・パーティション・グループ、およびバッファー・プール用の DDL を生成し、-x オプションは許可 DDL を生成し、-f オプションはデータベース構成パラメーター用の更新コマンドを生成します。
  3. Unicode データベースを作成する。
       CREATE DATABASE UNIDB COLLATE USING SYSTEM_codepage_territory
    ここで、 UNIDB は Unicode データベースの名前で、 SYSTEM_codepage_territory は非 Unicode データの照合に使用される重み表に基づく言語認識照合です。 これにより、新規 Unicode データベース内のデータは同じ順序でソートされることになります。
  4. unidb.ddl スクリプトを編集します。
    1. データベース名のすべてのオカレンスを新しい Unicode データベース名に変更する。
         CONNECT TO UNIDB
    2. 表の中の文字カラムの列の長さを増やします。
      文字を Unicode に変換すると、バイト数が増大する可能性があります。 この拡大に見合うように文字カラムの長さを増やすことが推奨されています。
    3. 既存のデータベースを保持するには、 unidb.ddl ファイル内の表スペースのファイル名の指定も変更する必要があります。 そうしない場合は、既存のデータベースをドロップし、同じ表スペース・ファイルを使用することができます。
         DROP DATABASE SAMPLE
  5. 編集した DDL スクリプトを実行して、データベース構造を再作成する。
       db2 -tvf unidb.ddl
  6. db2move コマンドを使用して、データを新しい Unicode データベースにインポートします。
       cd export-dir
       db2move unidb import 
    ここで、export-dir はデータのエクスポート先のディレクトリーであり、UNIDB は Unicode データベース名です。

次の作業

アップグレード前のタスクからこのトピックに誘導された場合は、 XML Extender から pureXMLへのマイグレーションに戻ります。