移行先の AlloyDB for PostgreSQL データベースを構成する

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 はトランザクション モードでデータを複製しないため、テーブルが順序どおりに移行されない可能性があります。外部キーが存在し、外部キーを使用する子テーブルが親テーブルの前に移行された場合、レプリケーション エラーが発生する可能性があります。