View a markdown version of this page

Oracle から Amazon Redshift への変換設定 - AWS データベース移行サービス

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

Oracle から Amazon Redshift への変換設定

ソースが Oracle で、ターゲットが Amazon Redshift の場合、次の設定が適用されます。これらの設定は、 AWS マネジメントコンソール または ModifyConversionConfiguration API オペレーションを使用して設定できます。

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

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

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

ターゲットのテーブルの最大数 (RedshiftTablesNumber)

DMS Schema Conversion がターゲット Amazon Redshift クラスターに適用できるテーブルの最大数を指定します。Amazon Redshift には、さまざまなクラスターノードタイプのテーブル数を制限するクォータがあります。

次の表に、この設定の有効な値を示します。

コンソール値 動作
Auto DMS Schema Conversion は、ノードタイプに応じて、ターゲット Amazon Redshift クラスターに適用するテーブルの数を決定します。
9900 ターゲットを 9,900 テーブルに制限します。
100000 ターゲットを 100,000 テーブルに制限します。

DMS Schema Conversion は、テーブル数が Amazon Redshift クラスターのクォータを超えている場合でも、すべてのソーステーブルを変換します。DMS Schema Conversion は、変換されたコードをプロジェクトに保存しますが、ターゲットデータベースには適用されません。変換されたコードを適用するときに Amazon Redshift クラスターのクォータに達すると、DMS Schema Conversion に警告メッセージが表示されます。

Amazon Redshift のテーブルクォータについては、「Amazon Redshift のクォータと制限」を参照してください。

タイプ: 文字列 (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 データベースデベロッパーガイド」の「圧縮エンコード」を参照してください。

タイプ: ブール値 (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_CHARTO_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