以前のコンバージョン ワークスペースについて

以前のコンバージョン ワークスペースは、より制限の多い古いタイプのコンバージョン ワークスペースです。従来の変換ワークスペースは、Gemini 拡張変換機能やインタラクティブ SQL エディタをサポートしていません。これらのファイルは、Ora2Pg 移行ツールで移行元のスキーマを変換する場合にのみ使用できます。

移行にレガシー タイプのコンバージョン ワークスペースを使用することはおすすめしません。コンバージョン ワークフローに次のような制限が複数あります。

インタラクティブなコンバージョン ワークスペース以前のコンバージョン ワークスペース
スキーマとコード オブジェクトの変換は Database Migration Service で行われます。 スキーマとコード オブジェクトの変換は、Database Migration Service の外部で Ora2Pg 移行ツールを使用して行います。
変換されたソースは、Database Migration Service で移行先データベースに直接適用できます。 変換されたスキーマを Cloud SQL for PostgreSQL の移行先インスタンスの移行先データベースに適用するのはお客様の責任です。
ドラフト スキーマとコードは、Database Migration Service で直接テストして、移行先インスタンスに正常に適用できることを確認できます。 宛先インスタンスに影響を与えることなく、下書きのスキーマとコードをテストすることはできません。
主キーのないテーブルに不足している rowid 列を自動的に追加します。 スキーマを適用した後、不足している主キーを宛先テーブルに追加する必要があります。
表 1: コンバージョン ワークスペースの機能の比較

以前のコンバージョン ワークスペースを使用する

シナリオで以前のコンバージョン ワークスペースを使用する必要がある場合は、次の操作で移行プロセスを変更します。

  1. Ora2Pg 構成ファイルを作成します。

    Ora2Pg 変換ツールの使用方法については、 Ora2Pg のドキュメントをご覧ください。Database Migration Service でサポートされているディレクティブの一覧については、次のセクションをご覧ください。

    Database Migration Service でサポートされている Ora2Pg 構成

    Database Migration Service は、Ora2Pg ファイルの次の構成項目をサポートしています。

    • BOOLEAN_VALUES
    • DATA_TYPE
    • DEFAULT_NUMERIC
    • ENABLE_MICROSECOND
    • EXPORT_SCHEMA
    • MODIFY_STRUCT
    • MODIFY_TYPE
    • PG_INTEGER_TYPE
    • PG_NUMERIC_TYPE
    • PG_SCHEMA
    • PRESERVE_CASE
    • REPLACE_AS_BOOLEAN
    • REPLACE_COLS
    • REPLACE_TABLES
    • REPLACE_ZERO_DATE
    • SCHEMA

    Database Migration Service は接続プロファイルを使用して接続の詳細を定義するため、Or2Pg 構成ファイルで次の情報を定義する必要はありません。

    • ORACLE_DSN
    • ORACLE_HOME
    • ORACLE_PWD
    • ORACLE_USER
    • PG_DSN
    • PG_PWD
    • PG_USER

    また、Database Migration Service は、WHERE 構成ディレクティブを使用して移行するレコードを制限しません。

  2. 以前のコンバージョン ワークスペースを作成し、Ora2Pg ファイルをアップロードしてスキーマを変換します
  3. 変換されたスキーマを手動で移行先データベースに適用します。

    Ora2Pg 構成を作成してワークスペースを作成したら、生成されたコードを宛先データベースに直接適用する必要があります。

  4. 主キーのないテーブルを移行する。

    Database Migration Service は、主キーがあるテーブルのみを移行します。ソース データベースに主キーのないテーブルが含まれている場合は、変換されたスキーマを適用した後に、宛先データベースの変換されたテーブルに主キー制約を手動で作成する必要があります。詳細については、次のセクションを開いてください。

    宛先データベースに主キー制約を追加する

    主キーのない Oracle テーブルを移行する手順は次のとおりです。

    1. SQL クライアントを使用して移行先の Cloud SQL インスタンスに接続します。次の方法を使用できます。
      • psql クライアント。この方法を使用してインスタンスのプライベート IP に接続できますが、Compute Engine 仮想マシンの作成が必要になる場合があります。
      • gcloud sql connect コマンド。このコマンドは、パブリック IP アドレスが有効になっている Cloud SQL インスタンスでのみ機能します。
    2. テーブルに不足している主キー制約を作成します。主キーの詳細については、PostgreSQL ドキュメントの 主キーをご覧ください。

      以下のセクションを開いて、SQL コマンドの例を確認することもできます。

      既存の列を使用して主キーを作成する

      テーブルに、列または列の組み合わせに基づく論理主キーがすでに存在している場合があります。たとえば、一意の制約またはインデックスが構成されている列がある場合があります。これらの列を使用して、ソース データベース内のテーブルの新しい主キーを生成します。次に例を示します。

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME);

      すべての列を使用して主キーを作成する

      主キーとして機能する既存の制約がない場合は、テーブルのすべての列を使用して主キーを作成します。PostgreSQL インスタンスで許可されている主キーの最大長を超えないようにしてください。次に例を示します。

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME_1, COLUMN_NAME_2, COLUMN_NAME_3, ...);

      このような複合主キーを作成する場合は、使用するすべての列名を明示的に指定する必要があります。この目的でステートメントを使用してすべての列名を取得することはできません。

次のステップ

以前のワークスペースで変換ワークフローを実行したら、標準の移行手順に進むことができます。 移行ジョブを作成するをご覧ください。