以前のコンバージョン ワークスペースは、より制限の多い古いタイプのコンバージョン ワークスペースです。従来の変換ワークスペースは、Gemini 拡張変換機能やインタラクティブ SQL エディタをサポートしていません。これらのファイルは、Ora2Pg 移行ツールで移行元のスキーマを変換する場合にのみ使用できます。
移行にレガシー タイプのコンバージョン ワークスペースを使用することはおすすめしません。コンバージョン ワークフローに次のような制限が複数あります。
インタラクティブなコンバージョン ワークスペース | 以前のコンバージョン ワークスペース |
---|---|
スキーマとコード オブジェクトの変換は Database Migration Service で行われます。 | スキーマとコード オブジェクトの変換は、Database Migration Service の外部で Ora2Pg 移行ツールを使用して行います。 |
変換されたソースは、Database Migration Service で移行先データベースに直接適用できます。 | 変換されたスキーマを Cloud SQL for PostgreSQL の移行先インスタンスの移行先データベースに適用するのはお客様の責任です。 |
ドラフト スキーマとコードは、Database Migration Service で直接テストして、移行先インスタンスに正常に適用できることを確認できます。 | 宛先インスタンスに影響を与えることなく、下書きのスキーマとコードをテストすることはできません。 |
主キーのないテーブルに不足している rowid 列を自動的に追加します。 |
スキーマを適用した後、不足している主キーを宛先テーブルに追加する必要があります。 |
以前のコンバージョン ワークスペースを使用する
シナリオで以前のコンバージョン ワークスペースを使用する必要がある場合は、次の操作で移行プロセスを変更します。
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
構成ディレクティブを使用して移行するレコードを制限しません。- 以前のコンバージョン ワークスペースを作成し、Ora2Pg ファイルをアップロードしてスキーマを変換します。
変換されたスキーマを手動で移行先データベースに適用します。
Ora2Pg 構成を作成してワークスペースを作成したら、生成されたコードを宛先データベースに直接適用する必要があります。
主キーのないテーブルを移行する。
Database Migration Service は、主キーがあるテーブルのみを移行します。ソース データベースに主キーのないテーブルが含まれている場合は、変換されたスキーマを適用した後に、宛先データベースの変換されたテーブルに主キー制約を手動で作成する必要があります。詳細については、次のセクションを開いてください。
宛先データベースに主キー制約を追加する
主キーのない Oracle テーブルを移行する手順は次のとおりです。
- SQL クライアントを使用して移行先の Cloud SQL インスタンスに接続します。次の方法を使用できます。
-
psql
クライアント。この方法を使用してインスタンスのプライベート IP に接続できますが、Compute Engine 仮想マシンの作成が必要になる場合があります。 -
gcloud sql connect
コマンド。このコマンドは、パブリック IP アドレスが有効になっている Cloud SQL インスタンスでのみ機能します。
-
- テーブルに不足している主キー制約を作成します。主キーの詳細については、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, ...);
このような複合主キーを作成する場合は、使用するすべての列名を明示的に指定する必要があります。この目的でステートメントを使用してすべての列名を取得することはできません。
- SQL クライアントを使用して移行先の Cloud SQL インスタンスに接続します。次の方法を使用できます。
次のステップ
以前のワークスペースで変換ワークフローを実行したら、標準の移行手順に進むことができます。 移行ジョブを作成するをご覧ください。