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

Data Transmission Service:Amazon RDS for Oracle インスタンスから ApsaraDB RDS for MySQL インスタンスにデータを移行する

最終更新日:Apr 29, 2025

このトピックでは、Data Transmission Service (DTS) を使用して、Amazon RDS for Oracle インスタンスから ApsaraDB RDS for MySQL インスタンスにデータを移行する方法について説明します。DTS は、スキーマ移行、フルデータ移行、増分データ移行をサポートしています。データ移行タスクを構成する際に、サポートされているすべての移行タイプを選択して、サービスの継続性を確保できます。

前提条件

  • Amazon RDS for Oracle インスタンスの [パブリックアクセス] オプションが [はい] に設定されています。この設定により、DTS はインターネット経由で Amazon RDS for Oracle インスタンスにアクセスできます。

  • Amazon RDS for Oracle インスタンスのデータベースバージョンは 9i、10g、11g、または 12c 以降(非マルチテナントアーキテクチャ)です。

  • ApsaraDB RDS for MySQL インスタンスのデータベースバージョンは 5.6 または 5.7 です。

  • ApsaraDB RDS for MySQL インスタンスの使用可能なストレージ容量は、Amazon RDS for Oracle インスタンスのデータの合計サイズの少なくとも 2 倍です。

    説明

    データ移行中に生成されるバイナリログファイルは、ある程度の容量を占有します。データ移行が完了すると、自動的にクリアされます。

  • Oracle データベースからデータを移行するために DTS を使用する場合は、DTS の機能と制限事項を理解している必要があります。データベース評価には、Advanced Database & Application Migration (ADAM) が使用されます。これは、クラウドへのスムーズなデータ移行に役立ちます。詳細については、「Oracle データベースを準備する」および「データベース評価」をご参照ください。

制限事項

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

  • ソースデータベースで移行されるテーブルには、PRIMARY KEY または UNIQUE 制約があり、すべてのフィールドが一意である必要があります。そうでない場合、ターゲットデータベースに重複したデータレコードが含まれる可能性があります。

  • DTS は、ROUND(COLUMN,PRECISION) 関数を使用して、FLOAT または DOUBLE データ型の列から値を取得します。精度を指定しない場合、DTS は FLOAT データ型の精度を 38 桁、DOUBLE データ型の精度を 308 桁に設定します。精度の設定がビジネス要件を満たしているかどうかを確認する必要があります。

  • DTS は、ApsaraDB RDS for MySQL インスタンスにターゲットデータベースを自動的に作成します。ただし、ソースデータベースの名前が無効な場合は、データ移行タスクを構成する前に、ApsaraDB RDS for MySQL インスタンスにデータベースを手動で作成する必要があります。

    説明

    ApsaraDB RDS for MySQL データベースのデータベース命名規則とデータベースの作成方法の詳細については、「データベースの管理」をご参照ください。

  • データ移行タスクが失敗した場合、DTS はタスクを自動的に再開します。ワークロードをターゲットインスタンスに切り替える前に、データ移行タスクを停止または解放してください。そうしないと、タスクが再開された後、ソースデータベースのデータがターゲットインスタンスのデータを上書きします。

課金ルール

移行タイプ

タスク構成料金

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

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

無料。

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

増分データ移行

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

移行タイプ

  • スキーマ移行

    DTS は、テーブル、インデックス、制約、シーケンスなどのオブジェクトのスキーマ移行をサポートしています。DTS は、ビュー、シノニム、トリガー、ストアドプロシージャ、関数、パッケージ、ユーザー定義型などのオブジェクトのスキーマ移行をサポートしていません。

  • フルデータ移行

    DTS は、Amazon RDS for Oracle インスタンスのソースデータベースから ApsaraDB RDS for MySQL インスタンスのターゲットデータベースに必要なオブジェクトの既存データを移行します。

  • 増分データ移行

    DTS は、Amazon RDS for Oracle インスタンスのソースデータベースから REDO ログファイルを取得します。次に、DTS は、Amazon RDS for Oracle インスタンスのソースデータベースから ApsaraDB RDS for MySQL インスタンスのターゲットデータベースに増分データを同期します。増分データ移行により、Oracle データベースからデータを移行する際に、自己管理アプリケーションのサービスを中断することなく、スムーズにデータを移行できます。

増分データ移行中に移行できる SQL 操作

  • INSERT、DELETE、および UPDATE

  • CREATE TABLE

    説明

    CREATE TABLE 操作でパーティションテーブルまたは関数を含むテーブルを作成する場合、DTS はその操作を同期しません。

  • ALTER TABLE(ADD COLUMN、DROP COLUMN、RENAME COLUMN、ADD INDEX のみを含む)

  • DROP TABLE

  • RENAME TABLE、TRUNCATE TABLE、および CREATE INDEX

データベースアカウントに必要な権限

データベース

スキーマ移行

フルデータ移行

増分データ移行

Amazon RDS for Oracle インスタンス

スキーマ所有者の権限

スキーマ所有者の権限

マスターユーザーの権限

ApsaraDB RDS for MySQL インスタンス

ターゲットデータベースに対する読み取りおよび書き込み権限

ターゲットデータベースに対する読み取りおよび書き込み権限

ターゲットデータベースに対する読み取りおよび書き込み権限

データベースアカウントの作成方法とデータベースアカウントへの権限の付与方法の詳細については、以下のトピックをご参照ください。

データ型マッピング

詳細については、「異種データベース間のデータ型マッピング」をご参照ください。

始める前に

  1. Amazon RDS 管理コンソールにログオンします。

  2. Amazon RDS for Oracle インスタンスの基本情報ページに移動します。

  3. [セキュリティグループルール] セクションで、既存のインバウンドルールが属するセキュリティグループの名前をクリックします。

    安全组规则

  4. [セキュリティグループ] ページで、セキュリティグループセクションの [インバウンド] タブをクリックします。[インバウンド] タブで、[編集] をクリックします。[インバウンドルールの編集] ダイアログボックスで、対応するリージョンにある DTS サーバーの CIDR ブロックをインバウンドルールに追加します。詳細については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

    编辑入站规则

    説明
    • ターゲットデータベースと同じリージョンにある DTS サーバーの CIDR ブロックのみを追加する必要があります。たとえば、ソースデータベースがシンガポールリージョンにあり、ターゲットデータベースが中国 (杭州) リージョンにあるとします。中国 (杭州) リージョンにある DTS サーバーの CIDR ブロックのみを追加する必要があります。

    • 必要な CIDR ブロックをすべて一度にインバウンドルールに追加できます。

    • 他に質問がある場合は、Amazon の公式ドキュメントを参照するか、テクニカルサポートにお問い合わせください。

  5. Amazon RDS for Oracle インスタンスのログ設定を変更します。増分データ移行を実行する必要がない場合は、この手順をスキップします。

    • Amazon RDS for Oracle インスタンスのデータベースバージョンが 12c 以降(非マルチテナントアーキテクチャ)の場合は、次の手順を実行してログ設定を構成します。

      1. マスターユーザーアカウントと SQL*Plus ツールを使用して、Amazon RDS for Oracle インスタンスに接続します。

      2. アーカイブログと補足ログを有効にします。

        タイプ

        手順

        アーカイブログ

        1. 次の文を実行して、アーカイブログが有効になっているかどうかを確認します。

          SELECT LOG_MODE FROM v$database;
        2. アーカイブログの保存期間を表示および設定します。

          説明

          アーカイブログの保存期間を 72 時間以上に設定することをお勧めします。この例では、保存期間は 72 時間に設定されています。

          exec rdsadmin.rdsadmin_util.show_configuration;
          exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours', 72); 

        補足ログ

        データベースレベルまたはテーブルレベルで補足ログを有効にします。

        • データベースレベルの補足ログを有効にする

          1. 次の文を実行して、データベースレベルの補足ログが有効になっているかどうかを確認します。

            SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_ui FROM v$database;
          2. データベースレベルでプライマリキーと一意キーの補足ログを有効にします。

            exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'PRIMARY KEY');
            exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'UNIQUE');
        • 次のいずれかの方法を使用して、テーブルレベルの補足ログを有効にします。

          • すべての列に対してテーブルレベルの補足ログを有効にする

            exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'ALL');
          • テーブルレベルでプライマリキーの補足ログを有効にする

            exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD', 'PRIMARY KEY');
      3. Amazon RDS for Oracle インスタンスのデータベースアカウントに詳細な権限を付与します。

        詳細な権限を付与する

        Webpack

        # データベースアカウントを作成し、アカウントに権限を付与します。この例では、RDSDT_DTSACCT という名前のデータベースアカウントが作成されます。
        /* データベースアカウントを作成し、そのアカウントに権限を付与します。この例では、RDSDT_DTSACCT という名前のデータベースアカウントが作成されます。 */
        create user RDSDT_DTSACCT IDENTIFIED BY RDSDT_DTSACCT;
        grant create session to RDSDT_DTSACCT;
        grant connect to RDSDT_DTSACCT;
        grant resource to RDSDT_DTSACCT;
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_LOGS','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_OBJECTS','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_COLS','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY','RDSDT_DTSACCT','SELECT');
        grant select any table to RDSDT_DTSACCT;
        grant select any transaction to RDSDT_DTSACCT;
        -- v$log 権限
        /* v$log 権限 */
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOG','RDSDT_DTSACCT','SELECT');
        -- v$logfile 権限
        /* v$logfile 権限 */
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGFILE','RDSDT_DTSACCT','SELECT');
        -- v$archived_log 権限
        /* v$archived_log 権限 */
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG','RDSDT_DTSACCT','SELECT');
        -- v$parameter 権限
        /* v$parameter 権限 */
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER','RDSDT_DTSACCT','SELECT');
        -- v$database 権限
        /* v$database 権限 */
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','RDSDT_DTSACCT','SELECT');
        -- v$active_instances 権限
        /* v$active_instances 権限 */
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ACTIVE_INSTANCES','RDSDT_DTSACCT','SELECT');
        -- v$instance 権限
        /* v$instance 権限 */
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE','RDSDT_DTSACCT','SELECT');
        -- v$logmnr_contents 権限
        /* v$logmnr_contents 権限 */
        exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_CONTENTS','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('USER$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('OBJ$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('COL$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('IND$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('ICOL$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('CDEF$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('CCOL$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('TABPART$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('TABSUBPART$','RDSDT_DTSACCT','SELECT');
        exec rdsadmin.rdsadmin_util.grant_sys_object('TABCOMPART$','RDSDT_DTSACCT','SELECT');
        grant LOGMINING TO RDSDT_DTSACCT;
        grant EXECUTE_CATALOG_ROLE to RDSDT_DTSACCT;
        exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR','RDSDT_DTSACCT','EXECUTE');
        grant select on v$database to rdsdt_dtsacct;
        grant select on dba_objects to rdsdt_dtsacct;
        grant select on DBA_TAB_COMMENTS to rdsdt_dtsacct;
        grant select on dba_tab_cols to rdsdt_dtsacct;
        grant select_catalog_role TO rdsdt_dtsacct;
    • Amazon RDS for Oracle インスタンスのデータベースバージョンが 9i、10g、または 11g の場合は、次の手順を実行してログ設定を構成します。

      1. マスターユーザーアカウントと SQL*Plus ツールを使用して、Amazon RDS for Oracle インスタンスに接続します。

      2. archive log list; コマンドを実行して、Amazon RDS for Oracle インスタンスが ARCHIVELOG モードで実行されているかどうかを確認します。

        説明

        インスタンスが NOARCHIVELOG モードで実行されている場合は、モードを ARCHIVELOG に切り替えます。詳細については、「アーカイブREDOログの管理」をご参照ください。

      3. 強制ログを有効にします。

        exec rdsadmin.rdsadmin_util.force_logging(p_enable => true);
      4. プライマリキーの補足ログを有効にします。

        begin rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD',p_type => 'PRIMARY KEY');end;/
      5. 一意キーの補足ログを有効にします。

        begin rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD',p_type => 'UNIQUE');end;/
      6. アーカイブログの保存期間を設定します。

        begin rdsadmin.rdsadmin_util.set_configuration(name => 'archivelog retention hours', value => '24');end;/
      7. アーカイブログの保存期間を設定します。

        説明

        アーカイブログの保存期間を 24 時間以上に設定することをお勧めします。

      8. 変更をコミットします。

        commit;

手順 (新しい DTS コンソール)

  1. ターゲットリージョンの移行タスクリストページに移動します (次のいずれかの方法を選択します)。

    DTS コンソール経由

    1. Data Transmission Service (DTS) コンソール にログオンします。

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

    3. ページの左上隅で、移行インスタンスが存在するリージョンを選択します。

    DMS コンソール経由

    説明

    実行する必要のある実際の手順は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「簡易モードコンソール」および「DMS インターフェースのレイアウトとスタイルをカスタマイズする」をご参照ください。

    1. Data Management (DMS) にログオンします。

    2. トップメニューバーで、[データ + AI] > [data Transmission Service (DTS)] > [データ移行] を選択します。

    3. データ移行タスク の右側で、移行インスタンスが存在するリージョンを選択します。

  2. タスクの作成 をクリックして、タスク構成ページに移動します。

  3. ソースデータベースとターゲットデータベースを構成します。

    警告

    ソースインスタンスとターゲットインスタンスを選択した後、ページ上部に表示される [制限事項] を注意深く読むことをお勧めします。そうでない場合、タスクが失敗したり、データの不整合が発生したりする可能性があります。

    セクション

    パラメーター

    説明

    N/A

    タスク名

    DTS はタスク名を自動的に生成します。識別しやすい説明的な名前を指定することをお勧めします。一意のタスク名を使用する必要はありません。

    ソースデータベース

    [DMS データベースインスタンスを選択]

    要件に基づいて、既存のインスタンスを使用するかどうかを指定できます。

    • 既存のインスタンスを使用する場合、DTS はインスタンスのパラメーターを自動的に入力します。対応するパラメーターを再度構成する必要はありません。

    • 既存のインスタンスを使用しない場合は、次のパラメーターを構成する必要があります。

    説明

    データベースタイプ

    ソースデータベースのタイプ。[oracle] を選択します。

    アクセス方法

    ソースデータベースのアクセス方法。[パブリック IP アドレス] を選択します。

    インスタンスリージョン

    Amazon RDS for Oracle インスタンスが存在するリージョン。

    説明

    Amazon RDS for Oracle インスタンスが存在するリージョンがドロップダウンリストに表示されない場合は、Amazon RDS for Oracle インスタンスに地理的に最も近いリージョンを選択してください。

    [ドメイン名または IP]

    Amazon RDS for Oracle インスタンスにアクセスするために使用されるエンドポイント。

    説明

    Amazon RDS for Oracle インスタンスの基本情報ページでエンドポイントを取得できます。

    [ポート番号]

    Amazon RDS for Oracle インスタンスのサービスポート番号。デフォルト値: [1521]

    [oracle タイプ]

    • ソースデータベースのアーキテクチャ。[非 RAC インスタンス] を選択した場合は、[SID] パラメーターを構成する必要があります。

    • [RAC または PDB インスタンス] を選択した場合は、[サービス名] パラメーターを構成する必要があります。

    この例では、[非 RAC インスタンス] が選択されています。

    データベースアカウント

    Amazon RDS for Oracle インスタンスのデータベースアカウント。アカウントに必要な権限については、このトピックの「データベースアカウントに必要な権限」セクションをご参照ください。

    データベースパスワード

    アカウントのパスワード。

    ターゲットデータベース

    [DMS データベースインスタンスを選択]

    要件に基づいて、既存のインスタンスを使用するかどうかを指定できます。

    • 既存のインスタンスを使用する場合、DTS はインスタンスのパラメーターを自動的に入力します。対応するパラメーターを再度構成する必要はありません。

    • 既存のインスタンスを使用しない場合は、次のパラメーターを構成する必要があります。

    説明

    データベースタイプ

    ターゲットデータベースのタイプ。[mysql] を選択します。

    アクセス方法

    ターゲットデータベースのアクセス方法。[alibaba Cloud インスタンス] を選択します。

    インスタンスリージョン

    ターゲットApsaraDB RDS for MySQL インスタンスが存在するリージョン。

    [RDS インスタンス ID]

    ターゲットApsaraDB RDS for MySQL インスタンスの ID。

    データベースアカウント

    ApsaraDB RDS for MySQL インスタンスのデータベースアカウント。アカウントに必要な権限については、このトピックの「データベースアカウントに必要な権限」セクションをご参照ください。

    データベースパスワード

    アカウントのパスワード。

    暗号化

    必要に応じて、[暗号化されていない接続] または [SSL 暗号化接続] を選択します。[SSL 暗号化接続] を選択した場合は、事前に RDS MySQL インスタンスの SSL 暗号化を有効にする必要があります。詳細については、「RDS MySQL インスタンスの SSL 暗号化を構成する」をご参照ください。

  4. 構成が完了したら、ページ下部にある 接続をテストして続行 をクリックし、DTS サーバーの CIDR ブロック ダイアログボックスの 接続テスト をクリックします。

    説明

    DTS サーバーの IP アドレス範囲が、ソースデータベースとターゲットデータベースのセキュリティ設定に自動または手動で追加され、DTS サーバーからのアクセスが許可されていることを確認します。詳細については、「オンプレミスデータベースのセキュリティ設定に DTS サーバーの CIDR ブロックを追加する」をご参照ください。

  5. 移行するオブジェクトを構成します。

    1. オブジェクト設定 ページで、移行するオブジェクトを構成します。

      パラメーター

      説明

      [移行タイプ]

      • フルデータ移行のみを実行する必要がある場合は、スキーマ移行完全データ移行 の両方を選択することをお勧めします。

      • 最小限のダウンタイムでデータを移行する必要がある場合は、スキーマ移行完全データ移行増分データ移行 を選択することをお勧めします。

      説明
      • スキーマ移行 を選択しない場合は、ターゲットデータベースにデータを受信するためのデータベースとテーブルが含まれていることを確認し、実際の状況に応じて 選択中のオブジェクト セクションでオブジェクトの名前マッピング機能を使用してください。

      • 増分データ移行 を選択しない場合は、データの整合性を確保するために、データ移行中にソースインスタンスに新しいデータを書き込まないでください。

      [競合するテーブルの処理モード]

      • エラーの事前チェックと報告: ターゲットデータベースにソースデータベースのテーブルと同じ名前のテーブルが含まれているかどうかを確認します。ターゲットデータベースに同じ名前のテーブルが含まれていない場合、事前チェックは合格です。そうでない場合、事前チェック中にエラーが返され、データ移行タスクを開始できません。

        説明

        ターゲットデータベースのテーブル名がソースデータベースのテーブル名と同じで、削除または名前変更できない場合は、ターゲットデータベースのテーブル名を変更できます。詳細については、「オブジェクト名マッピング」をご参照ください。

      • エラーを無視して続行: ソースデータベースとターゲットデータベースで同じテーブル名の事前チェックをスキップします。

        警告

        エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスがリスクにさらされる可能性があります。次に例を示します。

        • ソースデータベースとターゲットデータベースのスキーマが同じであるが、同じプライマリキーを持つデータが含まれている場合:

          • フルデータ移行中、ターゲットデータベースのレコードは変更されません。ソースデータベースのレコードはターゲットデータベースに移行されません。

          • 増分データ移行中、ターゲットデータベースのレコードは上書きされます。ソースデータベースのレコードはターゲットデータベースに移行されます。

        • ソースデータベースとターゲットデータベースのスキーマが異なる場合、データ移行が失敗するか、特定の列のみを移行できる可能性があります。このオプションを選択する際は注意してください。

      [ソースオブジェクト]

      ソースオブジェクト セクションで、移行するオブジェクトをクリックし、向右小箭头 をクリックして 選択中のオブジェクト セクションに移動します。

      説明

      移行するオブジェクトとして、列、テーブル、またはデータベースを選択できます。

      [選択したオブジェクト]

      • ターゲットインスタンスに移行するオブジェクトの名前を変更するには、[選択したオブジェクト] セクションでオブジェクトを右クリックします。詳細については、「単一オブジェクトの名前をマッピングする」をご参照ください。

      • 複数のオブジェクトの名前を一度に変更するには、[選択したオブジェクト] セクションの右上隅にある <[一括編集] をクリックします。詳細については、「一度に複数のオブジェクト名をマッピングする」をご参照ください。

      説明
      • オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトが移行に失敗する可能性があります。

      • WHERE 条件を指定してデータをフィルタリングするには、[選択したオブジェクト] セクションでテーブルを右クリックします。表示されるダイアログボックスで、条件を指定します。詳細については、「フィルター条件を指定する」をご参照ください。

      • 特定のデータベースまたはテーブルで実行された SQL 操作を移行するには、[選択したオブジェクト] セクションでオブジェクトを右クリックします。表示されるダイアログボックスで、移行する SQL 操作を選択します。同期できる SQL 文の詳細については、このトピックの「増分データ移行中に移行できる SQL 操作」セクションをご参照ください。

    2. 次へ:詳細設定 をクリックして、詳細パラメーターを構成します。

      パラメーター

      説明

      [タスクスケジューリング用の専用クラスター]

      デフォルトでは、専用クラスターを指定しない場合、DTS はタスクを共有クラスターにスケジュールします。必要な仕様の専用クラスターを購入して、データ移行タスクを実行することもできます。詳細については、「DTS 専用クラスターとは」をご参照ください。

      [接続失敗時のリトライ時間]

      移行タスクの開始後、ソースデータベースまたはターゲットデータベースへの接続に失敗した場合、DTS はエラーを報告し、すぐに連続リトライ試行を開始します。デフォルトのリトライ時間は 720 分です。10 ~ 1440 分の範囲でリトライ時間をカスタマイズすることもできます。リトライ時間を 30 分以上に設定することをお勧めします。指定された時間内に DTS がソースデータベースとターゲットデータベースに再接続すると、DTS はデータ移行タスクを再開します。そうでない場合、移行タスクは失敗します。

      説明
      • 同じソースまたはターゲットを持つ複数の DTS インスタンスの場合、ネットワークリトライ時間は、後で作成されたタスクの設定によって決まります。

      • DTS がソースデータベースとターゲットデータベースへの再接続を試行すると、DTS インスタンスの料金が発生します。ビジネス要件に基づいてリトライ時間範囲を指定するか、ソースインスタンスとターゲットインスタンスが解放された後、できるだけ早く DTS インスタンスを解放することをお勧めします。

      [その他の問題のリトライ時間]

      移行タスクの開始後、ソースデータベースまたはターゲットデータベースで接続以外の問題 (DDL または DML 実行例外など) が発生した場合、DTS はエラーを報告し、すぐに連続リトライ試行を開始します。デフォルトのリトライ時間は 10 分です。1 ~ 1440 分の範囲でリトライ時間をカスタマイズすることもできます。リトライ時間を 10 分以上に設定することをお勧めします。指定されたリトライ時間内に関連操作が成功すると、DTS は移行タスクを自動的に再開します。そうでない場合、移行タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 の値は、失敗した接続の再試行時間 の値よりも小さくなければなりません。

      [フルデータ移行のスロットリングを有効にする]

      フルデータ移行中、DTS はソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。ビジネス要件に基づいてフル移行タスクのスロットリングを設定し (1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS1 秒あたりの完全移行データ量 (MB) BPS を設定)、ターゲットデータベースへの負荷を軽減できます。

      説明

      このパラメーターは、移行タイプ完全データ移行 に設定されている場合にのみ使用できます。

      [増分データ移行のスロットリングを有効にする]

      ビジネス要件に基づいて増分移行タスクのスロットリングを設定し (1 秒あたりの増分移行の行数 RPS1 秒あたりの増分移行データ量 (MB) BPS を設定)、ターゲットデータベースへの負荷を軽減できます。

      説明

      このパラメーターは、移行タイプ増分データ移行 に設定されている場合にのみ使用できます。

      [環境タグ]

      データ移行インスタンスを識別するために使用される環境タグ。ビジネス要件に基づいて環境タグを選択できます。

      [実際の書き込みコード]

      ターゲットデータベースにデータを書き込むエンコード形式。ビジネス要件に基づいてエンコード形式を選択します。この例では、このパラメーターを構成する必要はありません。

      [ETL の構成]

      抽出、変換、書き出し (ETL) 機能を有効にするかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効な値:

      [監視とアラート]

      データ移行タスクのアラートを構成するかどうかを指定します。タスクが失敗した場合、または移行遅延が指定されたしきい値を超えた場合、アラート連絡先に通知されます。

      • [いいえ]: アラートを構成しません。

      • [はい]: アラートを構成します。アラートしきい値と アラート通知 も設定する必要があります。詳細については、「タスク構成中に監視とアラートを構成する」をご参照ください。

    3. [次へ: データ検証] をクリックして、データ検証タスクを構成します。

      データ検証機能を使用する必要がある場合は、「データ検証を構成する」で構成方法をご確認ください。

  6. タスクを保存し、事前チェックを実行します。

    • インスタンスを構成するために API 操作を呼び出すために使用されるパラメーター情報を表示する必要がある場合は、次:タスク設定の保存と事前チェック ボタンにポインターを置き、吹き出しの OpenAPI パラメーターのプレビュー をクリックします。

    • API パラメーターを表示する必要がない場合、または表示が完了した場合は、ページ下部にある 次:タスク設定の保存と事前チェック をクリックします。

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

    • 事前チェックに失敗した場合は、失敗したチェック項目の横にある [詳細の表示] をクリックして詳細を表示し、指示に従って問題を修正し、事前チェックを再実行します。

    • 事前チェック中に項目に対してアラートが生成された場合は、シナリオに基づいて次の操作を実行します。

      • 無視できないチェック項目の場合は、失敗したチェック項目の横にある [詳細の表示] をクリックして詳細を表示し、指示に従って問題を修正し、事前チェックを再実行します。

      • 無視できるチェック項目で修正する必要がない場合は、[クリックしてアラートの詳細を確認][無視を確認][OK][事前チェックを再実行] の順にクリックして、アラートチェック項目をスキップし、事前チェックを再実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

  7. インスタンスを購入します。

    1. [事前チェックの合格率][100%] の場合、[次へ: 購入] をクリックします。

    2. [購入] ページで、データ移行インスタンスのインスタンスクラスを選択します。詳細については、次の表をご参照ください。

      カテゴリ

      パラメーター

      説明

      新しいインスタンスクラス

      [リソースグループ構成]

      インスタンスが属するリソースグループを選択します。デフォルト値は [デフォルトのリソースグループ] です。詳細については、「リソース管理とは」をご参照ください。

      インスタンスクラス

      DTS は、移行速度が異なるインスタンスクラスを提供します。ビジネス要件に基づいてインスタンスクラスを選択できます。詳細については、「データ移行インスタンスの仕様」をご参照ください。

    3. 構成が完了したら、[data Transmission Service (従量課金) 利用規約] を読んで選択します。

    4. [購入して開始] をクリックし、表示される OK ダイアログボックスで、[OK] をクリックします。

      [データ移行] ページで、データ移行タスクの進行状況を確認できます。

手順 (古い DTS コンソール)

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

    説明

    データ管理 ( DMS ) コンソールにリダイレクトされた場合は、old アイコンを image でクリックすると、以前のバージョンの DTS コンソールに移動できます。

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

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

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

  5. ソースデータベースとターゲットデータベースを構成します。

    源库和目标库连接配置

    セクション

    パラメーター

    説明

    N/A

    タスク名

    DTS が自動的に生成するタスク名。タスクを識別しやすい説明的な名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。

    ソースデータベース

    インスタンスタイプ

    ソースデータベースのインスタンスタイプ。[パブリック IP アドレスを持つユーザー作成データベース] を選択します。

    インスタンスリージョン

    ソースインスタンスが存在するリージョン。ソースデータベースのインスタンスタイプとして [パブリック IP アドレスを持つユーザー作成データベース] を選択した場合は、[インスタンスリージョン] パラメーターを構成する必要はありません。

    データベースタイプ

    ソースデータベースのタイプ。[oracle] を選択します。

    ホスト名または IP アドレス

    Amazon RDS for Oracle インスタンスにアクセスするために使用されるエンドポイント。

    説明

    Amazon RDS for Oracle インスタンスの基本情報ページでエンドポイントを取得できます。

    连接地址

    ポート番号

    Amazon RDS for Oracle インスタンスのサービスポート番号。デフォルト値: [1521]

    インスタンスタイプ

    • [非 RAC インスタンス] を選択した場合は、[SID] パラメーターを構成する必要があります。

    • [RAC インスタンス] を選択した場合は、[サービス名] パラメーターを構成する必要があります。

    この例では、[非 RAC インスタンス] が選択されています。次に、SID パラメーターを構成します。

    データベースアカウント

    Amazon RDS for Oracle インスタンスのデータベースアカウント。アカウントに必要な権限については、このトピックの「データベースアカウントに必要な権限」セクションをご参照ください。

    データベースパスワード

    データベースアカウントのパスワード。

    説明

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

    ターゲットデータベース

    インスタンスタイプ

    ターゲットデータベースのインスタンスタイプ。[RDS インスタンス] を選択します。

    インスタンスリージョン

    ApsaraDB RDS for MySQL インスタンスが存在するリージョン。

    RDS インスタンス ID

    ApsaraDB RDS for MySQL インスタンスの ID。

    データベースアカウント

    ApsaraDB RDS for MySQL インスタンスのデータベースアカウント。アカウントに必要な権限については、このトピックの「データベースアカウントに必要な権限」セクションをご参照ください。

    データベースパスワード

    データベースアカウントのパスワード。

    説明

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

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

    ソースデータベースインスタンスまたはターゲットデータベースインスタンスが Alibaba Cloud データベースインスタンス (ApsaraDB RDS for MySQL インスタンスや ApsaraDB for MongoDB インスタンスなど) である場合、または Elastic Compute Service (ECS) でホストされている自己管理データベースである場合、DTS は DTS サーバーの CIDR ブロックをデータベースインスタンスのホワイトリストまたは ECS セキュリティグループルールに自動的に追加します。ソースデータベースまたはターゲットデータベースがデータセンター上の自己管理データベースであるか、他のクラウド サービス プロバイダーからのものである場合は、DTS がデータベースにアクセスできるように DTS サーバーの CIDR ブロックを手動で追加する必要があります。DTS サーバーの CIDR ブロックの詳細については、「DTS サーバーの CIDR ブロックをオンプレミスデータベースのセキュリティ設定に追加する」トピックの「DTS サーバーの CIDR ブロック」セクションをご参照ください。

    警告

    DTS サーバーの CIDR ブロックがデータベースまたはインスタンスのホワイトリスト、または ECS セキュリティグループルールに自動または手動で追加されると、セキュリティリスクが発生する可能性があります。したがって、DTS を使用してデータを移行する前に、潜在的なリスクを理解し、認識し、次の対策を含むがこれらに限定されない予防措置を講じる必要があります。ユーザー名とパスワードのセキュリティを強化する、公開されているポートを制限する、API 呼び出しを認証する、ホワイトリストまたは ECS セキュリティグループルールを定期的に確認し、不正な CIDR ブロックを禁止する、または Express Connect、VPN Gateway、Smart Access Gateway を使用してデータベースを DTS に接続する。

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

    选择迁移类型和对象

    設定

    説明

    移行タイプを選択

    • フルデータ移行のみを実行するには、[スキーマ移行][フルデータ移行] を選択します。

    • データ移行中のサービス継続性を確保するには、[スキーマ移行][フルデータ移行][増分データ移行] を選択します。

    説明

    [増分データ移行] が選択されていない場合は、データ移行中にソースデータベースにデータを書き込まないことをお勧めします。これにより、ソースデータベースとターゲットデータベース間のデータの整合性が確保されます。

    移行するオブジェクトを選択

    [使用可能] セクションから 1 つ以上のオブジェクトを選択し、向右小箭头 アイコンをクリックして、オブジェクトを [選択済み] セクションに移動します。

    説明
    • 移行するオブジェクトとして、列、テーブル、またはデータベースを選択できます。

    • デフォルトでは、オブジェクトがターゲットデータベースに移行された後、オブジェクトの名前はターゲットデータベースで変更されません。オブジェクト名マッピング機能を使用して、ApsaraDB RDS for MySQL インスタンスに移行されたオブジェクトの名前を変更できます。詳細については、「オブジェクト名マッピング」をご参照ください。

    • オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトが移行に失敗する可能性があります。

    オブジェクトの名前を変更するかどうかを指定

    オブジェクト名マッピング機能を使用して、ターゲットインスタンスに移行されたオブジェクトの名前を変更できます。詳細については、「オブジェクト名マッピング」をご参照ください。

    ソースデータベースまたはターゲットデータベースへの接続に失敗した場合のリトライ時間範囲を指定

    デフォルトでは、DTS がソースデータベースまたはターゲットデータベースに接続できない場合、DTS は次の 12 時間以内に再試行します。ビジネス要件に基づいてリトライ時間範囲を指定できます。指定されたリトライ時間内に DTS がソースデータベースとターゲットデータベースに再接続すると、DTS はデータ移行タスクを再開します。そうでない場合、データ移行タスクは失敗します。

    説明

    DTS が接続を再試行すると、DTS インスタンスの料金が発生します。ビジネス要件に基づいてリトライ時間範囲を指定することをお勧めします。ソースインスタンスとターゲットインスタンスが解放された後、できるだけ早く DTS インスタンスを解放することもできます。

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

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

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

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

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

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

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

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

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

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

    • スキーマ移行、フルデータ移行、増分データ移行

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

      重要

      適切なタイミングを選択して、データ移行タスクを手動で停止することをお勧めします。たとえば、オフピーク時や、ワークロードをターゲットクラスターに切り替える前にタスクを停止できます。

      1. 移行タスクのプログレスバーに [増分データ移行][移行タスクは遅延していません] が表示されるまで待ちます。次に、数分間ソースデータベースへのデータの書き込みを停止します。プログレスバーに [増分データ移行] の遅延が表示される場合があります。

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

  12. ワークロードを ApsaraDB RDS for MySQL インスタンスに切り替えます。