

# RDS for Oracle で拡張データ型を有効にする
<a name="Oracle.Concepts.ExtendedDataTypes"></a>

Amazon RDS for Oracle は、拡張データ型をサポートします。拡張データ型では、`VARCHAR2`、`NVARCHAR2`、および `RAW` データ型の最大サイズは 32,767 バイトです。拡張データ型を使用する場合、`MAX_STRING_SIZE` パラメータを `EXTENDED` に設定します。詳細については、Oracle ドキュメントの「[拡張データ型](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF55623)」を参照してください。

拡張データ型を使用しない場合は、`MAX_STRING_SIZE` パラメータを `STANDARD` (デフォルト) のままにします。この場合、サイズ制限は、`VARCHAR2` および `NVARCHAR2` データ型で 4,000 バイト、RAW データ型で 2,000 バイトです。

新しい DB インスタンス、または既存の DB インスタンスで拡張データ型を有効にできます。新しい DB インスタンスの場合、拡張データ型を有効にすると、通常、DB インスタンスの作成時間が長くなります。既存の DB インスタンスでは、変換プロセス中は DB インスタンスは無効です。

## 拡張データ型に関する考慮事項
<a name="Oracle.Concepts.ExtendedDataTypes.considerations"></a>

DB インスタンスの拡張データ型を有効にするときには、次の点を考慮してください。
+ 新規または既存の DB インスタンスの拡張データ型を有効にする場合は、変更を有効にするためにインスタンスを再起動する必要があります。
+ 拡張データ型を有効にすると、DB インスタンスでデータ型の標準サイズを使用するように戻すことはできません。`MAX_STRING_SIZE` パラメータを `STANDARD` に戻すと、`incompatible-parameters` ステータスになります。
+ 拡張データ型を使用する DB インスタンスを復元する場合、`MAX_STRING_SIZE` パラメータを `EXTENDED` に設定して、パラメータグループを設定する必要があります。復元中は、デフォルトのパラメータグループ、または、他のパラメータグループの `MAX_STRING_SIZE` を `STANDARD` に設定すると、`incompatible-parameters` ステータスになります。
+ DB インスタンスステータスが `incompatible-parameters` の設定のために `MAX_STRING_SIZE` の場合、`MAX_STRING_SIZE` パラメータを `EXTENDED` に設定して DB インスタンスを再起動するまで、DB インスタンスは使用できません。

## 新しい DB インスタンスで拡張データ型を有効にする
<a name="Oracle.Concepts.ExtendedDataTypes.CreateDBInstance"></a>

`MAX_STRING_SIZE` を `EXTENDED` に設定して DB インスタンスを作成すると、インスタンスの `MAX_STRING_SIZE` はデフォルトの `STANDARD` に設定されます。インスタンスを再起動して、変更を有効にします。

**新しい DB インスタンスで拡張データ型を有効にするには**

1. パラメータグループ内の `MAX_STRING_SIZE` パラメータを `EXTENDED` に設定する。

   新しいパラメータグループを作成するか、既存のパラメータグループを変更して、パラメータを設定できます。

   詳細については、「[Amazon RDS のパラメータグループ](USER_WorkingWithParamGroups.md)」を参照してください。

1. 新しい RDS for Oracle DB インスタンスを作成します。

   詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。

1. パラメータグループを、DB インスタンスで `EXTENDED` に設定された `MAX_STRING_SIZE` に関連付けます。

   詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。

1. DB インスタンスを再起動してパラメータの変更を有効にします。

   詳細については、「[ DB インスタンスの再起動](USER_RebootInstance.md)」を参照してください。

## 既存の DB インスタンスで拡張データ型を有効にするには
<a name="Oracle.Concepts.ExtendedDataTypes.ModifyDBInstance"></a>

DB インスタンスを変更して拡張データ型を有効にすると、RDS は、拡張サイズを使用するようにデータベース内のデータを変換します。変換とダウンタイムは、パラメータの変更後にデータベースを次に再起動したときに発生します。DB インスタンスは変換中は利用できません。

データの変換に要する時間は、DB インスタンスクラス、データベースのサイズ、および前回の DB スナップショットの時刻によって異なります。ダウンタイムを減らすには、再起動の直前にスナップショットを取ることを検討してください。これにより、変換ワークフロー中に行われるバックアップの時間が短縮されます。

**注記**  
拡張データ型を有効にすると、変換中はポイントインタイムの復元を実行できません。変換の直前または変換後の時間に復元することができます。

**既存の DB インスタンスで拡張データ型を有効にするには**

1. データベースのスナップショットを作成します。

   データベースに無効なオブジェクトがある場合、Amazon RDS はそれらの再コンパイルを試みます。Amazon RDS が無効なオブジェクトを再コンパイルできない場合、拡張データ型への変換は失敗する可能性があります。スナップショットを使用すると、変換に問題がある場合にデータベースを復元できます。変換前に無効なオブジェクトがないかを常に確認して、無効なオブジェクトを修正または削除してください。本番データベースの場合は、初期に DB インスタンスのコピーで変換プロセスをテストすることをお勧めします。

   詳細については、「[Amazon RDS のシングル AZ DB インスタンスの DB スナップショットの作成](USER_CreateSnapshot.md)」を参照してください。

1. パラメータグループ内の `MAX_STRING_SIZE` パラメータを `EXTENDED` に設定する。

   新しいパラメータグループを作成するか、既存のパラメータグループを変更して、パラメータを設定できます。

   詳細については、「[Amazon RDS のパラメータグループ](USER_WorkingWithParamGroups.md)」を参照してください。

1. DB インスタンスを修正して `MAX_STRING_SIZE` を `EXTENDED` に設定したパラメータグループと関連付けます。

   詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

1. DB インスタンスを再起動してパラメータの変更を有効にします。

   詳細については、「[ DB インスタンスの再起動](USER_RebootInstance.md)」を参照してください。