すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:ApsaraDB RDS for PPAS から PolarDB for Oracle への移行

最終更新日:Jun 04, 2026

Data Transmission Service (DTS) を使用して、ApsaraDB RDS for PPAS インスタンスから PolarDB for PostgreSQL (Oracle 互換) クラスターにデータを移行します。DTS は、スキーマ移行、完全データ移行、および増分データ移行をサポートしています。これらの移行タイプを組み合わせることで、最小限のダウンタイムでシームレスな移行を実現できます。

前提条件

説明

この操作には、新しいコンソールの使用を推奨します。詳細については、「ApsaraDB RDS for PPAS から PolarDB for Oracle への移行」をご参照ください。

  • PolarDB for Oracle クラスターが作成されていること。詳細については、「PolarDB for Oracle クラスターの作成」をご参照ください。

  • ターゲットの PolarDB for Oracle クラスターには、ソースの ApsaraDB RDS for PPAS インスタンスが使用するストレージよりも多くの空き容量があること。

  • ソースの ApsaraDB RDS for PPAS インスタンスのデータベース名、テーブル名、またはカラム名に大文字が含まれる場合、ターゲットの PolarDB for Oracle クラスターでこれらのオブジェクトを作成する際に、二重引用符 ("") で囲むこと。

  • 増分データ移行の場合、ソースの ApsaraDB RDS for PPAS インスタンスの移行アカウントにスーパーユーザ権限を付与すること。

注意事項

  • DTSは、完全データ移行中にソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。 データベースのパフォーマンスが悪い場合、仕様が低い場合、またはデータ量が多い場合、データベースサービスが利用できなくなる可能性があります。 たとえば、ソースデータベースで多数の低速SQLクエリが実行されている場合、テーブルにプライマリキーがない場合、またはターゲットデータベースでデッドロックが発生する場合、DTSは大量の読み取りおよび書き込みリソースを占有します。 データを移行する前に、移行元データベースと移行先データベースのパフォーマンスに対するデータ移行の影響を評価します。 オフピーク時にデータを移行することを推奨します。 たとえば、ソースデータベースとターゲットデータベースのCPU使用率が30% 未満の場合にデータを移行できます。

  • 移行元データベースで移行するテーブルには、PRIMARY KEYまたはUNIQUE制約が必要であり、すべてのフィールドが一意である必要があります。 そうでない場合、宛先データベースは重複するデータレコードを含み得る。

  • 1 つのデータ移行タスクで移行できるデータベースは 1 つだけです。複数のデータベースを移行するには、それぞれに個別のタスクを作成してください。

  • データ移行タスクが失敗した場合、DTS は自動で再試行します。自動再試行によって移行先のデータが上書きされるのを防ぐため、ワークロードを宛先インスタンスに切り替える前に、タスクを停止または解放してください。

  • ターゲットデータベースのシーケンスは、スイッチオーバー後にソースの最大値から継続されません。切り替える前に、ソースで各シーケンスの最大値をクエリし、それをターゲットの開始値として設定してください。シーケンス値のクエリ:
    do language plpgsql $$
    declare
      nsp name;
      rel name;
      val int8;
    begin
      for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S'
      loop
        execute format($_$select last_value from %I.%I$_$, nsp, rel) into val;
        raise notice '%',
        format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1);
      end loop;
    end;
    $$;
  • RDS PPAS からPolarDB for Oracle へ移行する際には、以下を推奨します:

    • 移行後にPolarDB for Oracle クラスターで低速クエリや OOM エラーが発生するのを避けるため、PolarDB for Oracle クラスターの仕様が RDS PPAS インスタンスの仕様と同等以上であることを確認してください。推奨されるPolarDB for Oracle クラスターの仕様は、「ApsaraDB RDS for PPAS と推奨される PolarDB for Oracle クラスター仕様のマッピング」に記載されています。

    • 接続数や IOPS などの特定の移行後の要件については、「」と「コンピュートノード仕様」を比較し、適切なPolarDB for Oracle クラスターの仕様を選択してください。

    • アプリケーション接続にはクラスターエンドポイントを使用し、自動読み書き分離を有効にしてください。これにより、読み取りリクエストが読み取り専用ノードに分散され、PolarDB for Oracle クラスターの負荷が軽減されます。詳細については、「エンドポイントの表示または申請」をご参照ください。

PolarDB for Oracle の推奨仕様

CPU とメモリの不足による低速 SQL クエリOOM エラーを防ぐため、PolarDB for Oracle クラスターの仕様が RDS for PPAS インスタンスの仕様と少なくとも同等であることを確認してください。次の表に、PolarDB for Oracle クラスターの推奨仕様を示します。

RDS for PPAS の仕様

PolarDB for Oracle の仕様

インスタンスタイプ

CPU とメモリ

インスタンスタイプ

CPU とメモリ

rds.ppas.t1.small

1 コア、1 GB

polar.o.x4.medium

2 コア、8 GB

ppas.x4.small.2

1 コア、4 GB

polar.o.x4.medium

2 コア、8 GB

ppas.x4.medium.2

2 コア、8 GB

polar.o.x4.medium

2 コア、8 GB

ppas.x8.medium.2

2 コア、16 GB

polar.o.x4.large

4 コア、16 GB

ppas.x4.large.2

4 コア、16 GB

polar.o.x4.large

4 コア、16 GB

ppas.x8.large.2

4 コア、32 GB

polar.o.x4.xlarge

8 コア、32 GB

ppas.x4.xlarge.2

8 コア、32 GB

polar.o.x4.xlarge

8 コア、32 GB

ppas.x8.xlarge.2

8 コア、64 GB

polar.o.x8.xlarge

8 コア、64 GB

ppas.x4.2xlarge.2

16 コア、64 GB

polar.o.x8.2xlarge

16 コア、128 GB

ppas.x8.2xlarge.2

16 コア、128 GB

polar.o.x8.2xlarge

16 コア、128 GB

ppas.x4.4xlarge.2

32 コア、128 GB

polar.o.x8.4xlarge

32 コア、256 GB

ppas.x8.4xlarge.2

32 コア、256 GB

polar.o.x8.4xlarge

32 コア、256 GB

rds.ppas.st.h43

60 コア、470 GB

polar.o.x8.8xlarge

64 コア、512 GB

移行タイプ

移行タイプ

説明

スキーマ移行

Data Transmission Service (DTS) は、オブジェクトスキーマを移行先の PolarDB クラスターに移行します。サポート対象オブジェクト:テーブル、ビュー、シノニム、トリガー (互換性の問題あり)、ストアドプロシージャ、ストアドファンクション、パッケージ、およびユーザー定義型。

重要

トリガーを移行すると、データの不整合が発生する可能性があります。

完全データ移行

DTS は、ソースデータベースから移行先の PolarDB クラスターに既存データを移行します。

重要

スキーマ移行と完全データ移行が完了するまで、移行対象オブジェクトに対して DDL 操作を実行しないでください。実行すると、移行が失敗する可能性があります。

増分データ移行

完全データ移行後、DTS はソースデータベースから REDO ログを読み取り、増分データを移行先の PolarDB クラスターにリアルタイムでレプリケートします。サポート対象の DML 操作:挿入、更新、および削除。DDL 操作は同期されません。

増分データ移行により、最小限のダウンタイムでシームレスな移行が可能になります。

課金ルール

移行タイプ

タスク構成料金

インターネットトラフィック料金

スキーマ移行と完全データ移行

無料。

インターネット経由で Alibaba Cloud からデータが移行される場合にのみ課金されます。詳細については、「課金の概要」をご参照ください。

増分データ移行

課金されます。詳細については、「課金の概要」をご参照ください。

データベースアカウントの権限

ソースデータベースに移行アカウントを作成し、必要な権限を付与します。

データベース

スキーマ移行

完全移行

増分移行

ApsaraDB RDS for PPAS

読み取り権限

読み取り権限

スーパーユーザー権限

PolarDB for Oracle クラスター

スキーマ所有者権限

スキーマ所有者権限

スキーマ所有者権限

データベースアカウントを作成して権限を付与する方法は、データベースの種類によって異なります。

PolarDB for Oracle クラスターのアカウントを作成して権限を付与するには、「データベースアカウントの作成」をご参照ください。

操作手順

  1. にログインします。 DTSコンソール

    説明

    データ管理 (DMS) コンソールにリダイレクトされている場合は、にあるoldアイコンをクリックして、以前のバージョンのDTSコンソールに移動しimage

  2. 左側のナビゲーションウィンドウで、[データ移行] をクリックします。

  3. [移行タスク] ページの上部で、移行先クラスターが存在するリージョンを選択します。

  4. ページの右上隅にある [移行タスクの作成] をクリックします。

  5. ソースデータベースと移行先データベースの接続情報を設定します。

    カテゴリ

    パラメーター

    説明

    N/A

    タスク名

    DTS はタスク名を自動生成します。簡単に識別できるよう、わかりやすい名前を指定します。一意である必要はありません。

    ソースデータベース

    インスタンスタイプ

    [Express Connect、VPN Gateway、または Smart Access Gateway 経由で接続された自己管理データベース] を選択します。DTS は、ソースとして RDS PPAS インスタンスを直接サポートしていません。

    インスタンスリージョン

    RDS PPAS インスタンスのリージョンを選択します。

    ソースデータベースに接続された VPC

    RDS PPAS インスタンスの VPC ID を選択します。

    データベースタイプ

    PPAS を選択します。

    バージョン

    RDS PPAS インスタンスのバージョンを選択します。

    IP アドレス

    RDS PPAS インスタンスのプライベート IP アドレスを入力します。

    ポート

    RDS PPAS インスタンスのサービスポートを入力します。デフォルト: 3433

    データベース名

    移行するソースデータベースの名前を入力します。

    データベースアカウント

    RDS PPAS のデータベースアカウントを入力します。「データベースアカウントに必要な権限」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを入力します。

    説明

    ソースデータベースに関する情報を指定した後、[データベースパスワード] の横にある [接続テスト] をクリックして、情報が有効かどうかを確認できます。情報が有効な場合は、[成功] メッセージが表示されます。[失敗] メッセージが表示された場合は、[失敗] の横にある [確認] をクリックします。次に、確認結果に基づいて情報を変更します。

    移行先データベース

    インスタンスタイプ

    PolarDB を選択します。

    インスタンスリージョン

    移行先の PolarDB for PostgreSQL (Oracle-compatible) クラスターのリージョンを選択します。

    PolarDB インスタンス ID

    移行先の PolarDB for PostgreSQL (Oracle-compatible) クラスターを選択します。

    データベース名

    移行先データベースの名前を入力します。

    データベースアカウント

    移行先の PolarDB for PostgreSQL (Oracle-compatible) クラスターのデータベースアカウントを入力します。「データベースアカウントに必要な権限」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを入力します。

    説明

    RDS インスタンスに関する情報を指定した後、[データベースパスワード] の横にある [接続テスト] をクリックして、情報が有効かどうかを確認できます。情報が有効な場合は、[成功] メッセージが表示されます。[失敗] メッセージが表示された場合は、[失敗] の横にある [確認] をクリックします。次に、確認結果に基づいて情報を変更します。

  6. 右下隅にある [ホワイトリストを設定して次へ] をクリックします。

    ソースデータベースまたは移行先データベースが ApsaraDB for RDSApsaraDB for MongoDB などの Alibaba Cloud データベースインスタンスである場合、DTS は対応するリージョンの DTS サーバーの CIDR ブロックをデータベースインスタンスのホワイトリストに自動的に追加します。ソースデータベースまたは移行先データベースが Elastic Compute Service (ECS) インスタンス上の自己管理データベースである場合、DTS は対応するリージョンの DTS サーバーの CIDR ブロックを ECS インスタンスのセキュリティルールに自動的に追加します。また、自己管理データベースが ECS インスタンスからのアクセスを制限していないことを確認する必要があります。データベースが複数の ECS インスタンス上のクラスターにデプロイされている場合は、対応するリージョンの DTS サーバーの CIDR ブロックを各 ECS インスタンスのセキュリティルールに手動で追加する必要があります。ソースデータベースまたは移行先データベースがオンプレミスデータセンター内の自己管理データベース、または他のクラウドプロバイダーのデータベースである場合は、DTS サーバーの CIDR ブロックを手動で追加してアクセスを許可する必要があります。DTS サーバーの CIDR ブロックの詳細については、「DTS サーバーの IP アドレス」をご参照ください。

    警告

    DTSサーバーのCIDRブロックがデータベースまたはインスタンスのホワイトリスト、またはECSセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを移行する前に、潜在的なリスクを理解して認識し、次の対策を含む予防策を講じる必要があります。VPNゲートウェイ、またはSmart Access Gateway。

  7. 移行タイプとオブジェクトを選択します。

    Select migration types and objects

    パラメーター

    説明

    移行タイプ

    • 1 回限りの移行の場合は、スキーマ移行[完全データ移行] を選択します。

    • ダウンタイムを最小限に抑えた移行の場合は、スキーマ移行[完全データ移行][増分データ移行] を選択します。

    重要
    • データ整合性を確保するため、[増分データ移行] を選択しない場合は、スキーマ移行または完全データ移行中にソースデータベースに新しいデータを書き込まないでください。

    • スキーマ移行と完全データ移行が完了する前に、移行オブジェクトに対して DDL 操作を実行しないでください。実行した場合、移行タスクが失敗する可能性があります。

    移行オブジェクト

    [利用可能] ボックスで、移行するオブジェクトをクリックし、Right arrow をクリックして 選択中のオブジェクト ボックスに移動します。

    説明
    • オブジェクトは、データベース、テーブル、またはカラムレベルで選択できます。

    • デフォルトでは、移行されたオブジェクト名は移行先データベースで同じままです。オブジェクトの名前を変更するには、「オブジェクト名のマッピング」を使用します。

    • オブジェクト名のマッピングを使用すると、依存オブジェクトの移行が失敗する可能性があります。

    オブジェクト名のマッピング

    移行先インスタンスでオブジェクトの名前を変更するには、「オブジェクト名のマッピング」を使用します。

    接続再試行期間

    デフォルト: 12 時間。カスタム期間を指定できます。この期間内に DTS が両方のデータベースに再接続すると、タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。

    説明

    再試行中は課金されます。必要に応じて再試行期間を設定するか、ソースインスタンスと移行先インスタンスが解放された後に DTS インスタンスを解放してください。

  8. ページの右下隅にある [事前チェック] をクリックします。

    説明
    • データ移行タスクを開始する前に、DTSは事前チェックを実行します。 データ移行タスクは、タスクが事前チェックに合格した後にのみ開始できます。

    • タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にあるInfo iconアイコンをクリックして詳細を表示できます。

      • 原因に基づいて問題をトラブルシューティングし、事前チェックを再度実行できます。

      • 問題をトラブルシューティングする必要がない場合は、失敗した項目を無視して、再度事前チェックを実行できます。

  9. タスクが事前チェックに合格したら、[次へ] をクリックします。

  10. [設定の確認] ダイアログボックスで、[チャネル仕様] パラメーターを指定し、[データ送信サービス (従量課金) サービス規約] を選択します。

  11. [購入と開始] をクリックして、データ移行タスクを開始します。

    • スキーマ移行とフルデータ移行

      フルデータ移行中は、手動でタスクを停止しないことをお勧めします。 そうしないと、ターゲットデータベースに移行されたデータが不完全になる可能性があります。 データ移行タスクが自動的に停止するまで待つことができます。

    • スキーマ移行、完全データ移行、および増分データ移行

      増分データ移行タスクは自動的に停止しません。 タスクを手動で停止する必要があります。

      重要

      データ移行タスクを手動で停止する適切な時期を選択することを推奨します。 たとえば、オフピーク時やワークロードを移行先クラスターに切り替える前にタスクを停止できます。

      1. 増分データ移行移行タスクが遅延しませんが移行タスクのプログレスバーに表示されるまで待ちます。 その後、ソースデータベースへのデータの書き込みを数分間停止します。 増分データ移行のレイテンシは、プログレスバーに表示され得る。

      2. 増分データ移行のステータスが [移行タスクは遅延なし] に変わるまで待ちます。 次に、移行タスクを手動で停止します。 Stop an incremental data migration task