Database Migration Service は、Oracle 移行元データベースから次の AlloyDB for PostgreSQL 移行先データベースへの継続的な移行をサポートしています。
- AlloyDB for PostgreSQL 14、15
Database Migration Service を使用して移行先データベースにデータを移行する前に、次のようにデータベースを構成する必要があります。
- AlloyDB for PostgreSQL クラスタとプライマリ インスタンスの作成。プライマリ インスタンスには少なくとも 4 個の vCPU と 32 GB のメモリを割り当てることをおすすめします。
- プライベート IP アドレスを使用して移行先インスタンスに接続する場合、Database Migration Service は Private Service Connect を使用してインスタンスに接続します。詳細については、移行先インスタンスの Private Service Connect を構成するをご覧ください。
同じ名前でインスタンスにユーザー アカウントとデータベースを作成します。たとえば、Database Migration Service を使用して
myapp
データベースにデータを移行する場合は、ユーザー アカウントの名前もmyapp
にする必要があります。- データベースに対するユーザーの権限を設定します。
CREATE SCHEMA
CREATE TABLE
CREATE DATABASE
SELECT
INSERT
UPDATE
DELETE
TRUNCATE
(すべてのテーブル用)
- (外部キーまたはトリガーを含むデータベースの場合)移行ユーザー アカウントで
REPLICATION
オプションを使用して、外部キーとトリガーをスキップします。以下のコマンドを実行します。 外部キーとトリガーの移行方法の詳細については、 外部キーとトリガーに関する考慮事項をご覧ください。ALTER USER MIGRATION_USER_NAME WITH replication;
外部キーとトリガーに関する考慮事項
移行元データベースに存在する外部キーとトリガーにより、データの整合性の問題が発生したり、移行ジョブが失敗したりする可能性があります。移行ユーザーの REPLICATION
オプションを使用して外部キーとトリガーをスキップすると、これらの問題を回避できます。または、移行先データベースの外部キーとトリガーをすべて削除し、移行が完了したら再作成することもできます。
- トリガー
- Database Migration Service によって複製されたデータには、ソース データベースでトリガーによって行われた変更がすでに組み込まれています。移行先でトリガーが有効になっている場合、トリガーが再びトリガーされ、データが操作され、データの整合性や重複の問題が発生する可能性があります。
- 外部キー
- Database Migration Service はトランザクション モードでデータを複製しないため、テーブルが順序どおりに移行されない可能性があります。外部キーが存在し、外部キーを使用する子テーブルが親テーブルの前に移行された場合、レプリケーション エラーが発生する可能性があります。