

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Oracle から Amazon Redshift への変換設定
<a name="schema-conversion-oracle-redshift"></a>

ソースが Oracle で、ターゲットが Amazon Redshift の場合、次の設定が適用されます。これらの設定は、 AWS マネジメントコンソール または [ModifyConversionConfiguration](https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyConversionConfiguration.html) API オペレーションを使用して設定できます。

このトピックでは、Oracle から Amazon Redshift への変換パスに固有の設定について説明します。これらの設定に加えて、DMS Schema Conversion は、変換された SQL のアクション項目コメントの重要度レベルや変換に生成 AI を使用するオプションなど、すべてのソースとターゲットのペアに適用される設定を提供します。これらの設定については、「」を参照してください[一般的な変換設定](schema-conversion-settings.md#schema-conversion-settings-common)。

各設定には、 AWS マネジメントコンソール ラベルの後に API および AWS CLI パラメータ名が括弧内に表示されます。API または CLI で設定を構成するときは、 AWS パラメータ名を使用します。設定は、 に表示されるのと同じ順序で一覧表示されます AWS マネジメントコンソール。

Oracle から Amazon Redshift への変換パスでは、次の設定を使用できます。

**ターゲットのテーブルの最大数** (`RedshiftTablesNumber`)  
DMS Schema Conversion がターゲット Amazon Redshift クラスターに適用できるテーブルの最大数を指定します。Amazon Redshift には、さまざまなクラスターノードタイプのテーブル数を制限するクォータがあります。  
次の表に、この設定の有効な値を示します。      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/schema-conversion-oracle-redshift.html)
DMS Schema Conversion は、テーブル数が Amazon Redshift クラスターのクォータを超えている場合でも、すべてのソーステーブルを変換します。DMS Schema Conversion は、変換されたコードをプロジェクトに保存しますが、ターゲットデータベースには適用されません。変換されたコードを適用するときに Amazon Redshift クラスターのクォータに達すると、DMS Schema Conversion に警告メッセージが表示されます。  
Amazon Redshift のテーブルクォータについては、「[Amazon Redshift のクォータと制限](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)」を参照してください。  
**タイプ:** 文字列 (`Auto` \| `9900` \| `100000`)  
**デフォルト**: `Auto`

**UNION ALL ビューを使用する** (`ConvertingSettings`)  
DMS Schema Conversion が UNION ALL ビューを使用して Amazon Redshift のテーブルパーティショニングをエミュレートするかどうかを指定します。  
Amazon Redshift は、テーブルのパーティションをサポートしていません。テーブルのパーティショニングをエミュレートし、クエリの実行を高速化するために、DMS Schema Conversion はソーステーブルの各パーティションを Amazon Redshift の別のテーブルに移行できます。次に、DMS Schema Conversion は、UNION ALL を使用してすべてのターゲットテーブルのデータを含むビューを作成します。  
この設定では、以下の値がサポートされます。  
+ `true` — DMS Schema Conversion は、パーティションと UNION ALL ビューごとに個別のテーブルを作成します。有効にすると、**ターゲットテーブルの最大数**設定が利用可能になります。
+ `false` — DMS Schema Conversion は UNION ALL ビューを使用しません。
**タイプ:** ブール値 (`true` \| `false`)  
**デフォルト**: `false`

**ターゲットテーブルの最大数** (`PartitionNumberLimit`)  
DMS Schema Conversion が単一のソーステーブルのパーティションに対して作成できるターゲットテーブルの最大数を指定します。この設定は、 `ConvertingSettings`が の場合にのみ使用できます`true`。  
ソーステーブルパーティショニングのタイプによっては、パーティションの数が Amazon Redshift クラスターのクォータを超える可能性があります。このクォータに達しないようにするには、DMS Schema Conversion が単一のソーステーブルに対して作成できるターゲットテーブルの最大数を入力します。  
デフォルト値は 368 テーブルです。これは、1 年間の 366 日間のパーティションと、NO RANGE パーティションと UNKNOWN パーティションの 2 つのテーブルを表します。  
**タイプ:** 整数  
**デフォルト**: `368`

**圧縮エンコーディングを使用する** (`UseCompressionEncodingZstd`)  
DMS Schema Conversion がデフォルトの Amazon Redshift アルゴリズムを使用して列に圧縮エンコーディングを自動的に割り当てるかどうかを指定します。  
この設定では、以下の値がサポートされます。  
+ `true` — DMS Schema Conversion はテーブル列に圧縮エンコーディングを適用します。
+ `false` — DMS Schema Conversion は圧縮エンコーディングを適用しません。
圧縮エンコードの詳細については、「Amazon Redshift データベースデベロッパーガイド」の「[圧縮エンコード](https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html)」を参照してください。**  
**タイプ:** ブール値 (`true` \| `false`)  
**デフォルト**: `false`

**KEY 列の圧縮エンコードを使用する** (`UseCompressionEncodingZstdForKeyFields`)  
DMS Schema Conversion がソートキーと分散キーとして定義された列に圧縮エンコーディングを割り当てるかどうかを指定します。Amazon Redshift は、これらの列にデフォルトで圧縮を適用しません。この設定は、 `UseCompressionEncodingZstd`が の場合にのみ使用できます`true`。  
この設定では、以下の値がサポートされます。  
+ `true` — DMS Schema Conversion は KEY 列に圧縮エンコーディングを適用します。
+ `false` — DMS Schema Conversion は KEY 列に圧縮を適用しません。
**タイプ:** ブール値 (`true` \| `false`)  
**デフォルト**: `false`

**プライマリキーと一意のキーの動作をエミュレート**する (`AutomatePrimaryKeyUniqueConstraint`)  
DMS Schema Conversion がターゲット Amazon Redshift クラスターのプライマリキー制約と一意のキー制約の動作をエミュレートするかどうかを指定します。Amazon Redshift は、一意およびプライマリキーの制約を強制せず、情報提供のみを目的として使用します。ソースコードでこれらの制約を使用する場合は、このオプションを選択して、変換されたコードでの動作をエミュレートします。  
この設定では、以下の値がサポートされます。  
+ `true` — DMS Schema Conversion は、ターゲットのプライマリおよび一意のキー制約動作をエミュレートします。
+ `false` — DMS Schema Conversion はキー制約の動作をエミュレートしません。
**タイプ:** ブール値 (`true` \| `false`)  
**デフォルト**: `false`

**日時形式の要素に拡張パック関数を使用しない** (`DatetimeFormatsEqual`)  
DMS Schema Conversion が拡張パック関数を使用せずに日時フォーマット関数 (`TO_CHAR`、`TO_DATE`、 など`TO_NUMBER`) を変換するかどうかを指定します。Oracle の日時フォーマットモデルには、Amazon Redshift の日時フォーマット文字列と比較してより多くの要素が含まれています。ソースコードに Amazon Redshift がサポートする日時形式の要素のみが含まれている場合、変換されたコードに拡張パック関数は必要ありません。  
この設定では、以下の値がサポートされます。  
+ `true` — DMS Schema Conversion は、拡張パック関数を使用せずに、フォーマット関数をネイティブ Amazon Redshift 関数に変換します。変換されたコードはより速く実行されます。
+ `false` — DMS Schema Conversion は、拡張パック関数を使用して、変換されたコードでサポートされていない形式要素をエミュレートします。
**タイプ:** ブール値 (`true` \| `false`)  
**デフォルト**: `false`

**数値形式の要素に拡張パック関数を使用しない** (`NumberFormatsEqual`)  
DMS Schema Conversion が拡張パック関数を使用せずに数値フォーマット関数を変換するかどうかを指定します。Oracle の数値フォーマットモデルには、Amazon Redshift の数値フォーマット文字列よりも多くの要素が含まれています。ソースコードに Amazon Redshift がサポートする数値形式の要素のみが含まれている場合、変換されたコードに拡張パック関数は必要ありません。  
この設定では、以下の値がサポートされます。  
+ `true` — DMS Schema Conversion は、拡張パック関数を使用せずに、数値フォーマット関数をネイティブ Amazon Redshift 関数に変換します。変換されたコードはより速く実行されます。
+ `false` — DMS Schema Conversion は、拡張パック関数を使用して、変換されたコードでサポートされていない形式要素をエミュレートします。
**タイプ:** ブール値 (`true` \| `false`)  
**デフォルト**: `false`

**NVL 関数を使用して Oracle LEAD 関数と LAG 関数の動作をエミュレートする** (`LeadLagFunctionsEqual`)  
デフォルトでは、DMS Schema Conversion は `LEAD`および `LAG`関数ごとにアクション項目を生成します。ソースコードがこれらの関数のオフセットにデフォルト値を使用しない場合、DMS Schema Conversion は`NVL`関数でその使用量をエミュレートできます。  
この設定では、以下の値がサポートされます。  
+ `true` — DMS Schema Conversion は、 を使用してこれらの関数をエミュレートします`NVL`。変換されたコードはより速く実行されます。
+ `false` — DMS Schema Conversion は、 `LEAD` および `LAG`関数を使用するたびにアクション項目を生成します。
**タイプ:** ブール値 (`true` \| `false`)  
**デフォルト**: `false`