インストール中の文字セット選択について
データベースを作成する前に、使用する文字セットを決定します。
データベースを作成した後で文字セットを変更すると、一般的に、時間およびリソースの面で大きなコストがかかります。このような処理を行うには、データベース全体をエクスポートした後で再びインポートすることにより、すべての文字データの変換が必要な場合もあります。そのため、データベース文字セットは、インストールの時点で慎重に選択することが重要です。
Oracle Databaseでは、文字セットを次のものに使用します。
-
SQL文字データ型(
CHAR
、VARCHAR2
、CLOB
、および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グローバリゼーション・サポート・ガイド』を参照してください。親トピック: Oracle Databaseのインストール