インストール中の文字セット選択について

データベースを作成する前に、使用する文字セットを決定します。

データベースを作成した後で文字セットを変更すると、一般的に、時間およびリソースの面で大きなコストがかかります。このような処理を行うには、データベース全体をエクスポートした後で再びインポートすることにより、すべての文字データの変換が必要な場合もあります。そのため、データベース文字セットは、インストールの時点で慎重に選択することが重要です。

Oracle Databaseでは、文字セットを次のものに使用します。

  • SQL文字データ型(CHARVARCHAR2CLOB、およびLONG)で格納されているデータ。

  • 表名、列名、PL/SQL変数などの識別子。

  • ストアドSQLおよびPL/SQLソース・コード(このコードに埋め込まれたテキスト・リテラルも含む)。

汎用/トランザクション処理またはデータ・ウェアハウスのテンプレートから作成されたデータベースのデフォルトのデータベース文字セットは、Unicode AL32UTF8です。

Unicodeは、現在世界で使用されている言語のほとんどをサポートしている汎用文字セットです。また、現在では使用されていない歴史的な文字(アルファベット)も多数サポートしています。Unicodeは、Java、XML、XHTML、ECMAScript、LDAPなど、多くのテクノロジのネイティブ文字コードです。Unicodeは、インターネットや世界経済をサポートしているデータベースに非常に適しています。

AL32UTF8はマルチバイト文字セットであるため、テキスト処理に必要なCPU時間はシングルバイト文字セットと比較すると若干長くなります。また、ほとんどの言語のテキストの記憶領域要件は、対応するレガシー文字セットよりも大きくなります。ただし、通常は、AL32UTF8データベースで実行されているアプリケーションに新しい言語のデータを追加できるようになるUnicodeの普遍性と柔軟性には、これらの追加コストを上回る価値があります。

Oracle Databaseのデータベース文字セット(CDB$ROOTコンテナ)により、プラグインできるプラガブル・データベース(PDB)が決まります。データベース文字セットとしてUnicode AL32UTF8を使用すると、Oracle Databaseでサポートされている任意のデータベース文字セット(EBCDICベースの文字セットを除く)のPDBをプラグインできます。コンテナ・データベースの作成時にAL32UTF8以外の文字セットを使用すると、同じ文字セットでのみPDBをプラグインできます。したがって、新規データベースをインストールする場合は、通常、データベース文字セットのデフォルト・オプションを使用する必要があります。

特定の互換性、記憶域またはパフォーマンス要件を満たすために特定のレガシー文字セットでPDBをデプロイする必要がある場合は、1つの空のPDBを含むこのレガシー文字セットで一時コンテナ・データベースを作成します。このPDBには、同じレガシー・データベース文字セットが含まれます。次に、このPDBを切断し、ターゲットのAL32UTF8コンテナ・データベースに接続します。一時コンテナ・データベースを削除します。このようなプラグインされたPDBをテンプレートとして使用して、必要に応じて同じレガシー文字セットでさらにPDBをクローニングできます。必要に応じて、同じ方法を使用して、レガシー文字セット・テンプレートPDBを同じAL32UTF8コンテナ・データベースにさらに追加できます。

関連項目:

Oracle Databaseのデータベース文字セットの選択の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。