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

Data Transmission Service:自己管理型OracleデータベースからPolarDB for MySQLクラスターへのデータの移行

最終更新日:Nov 01, 2024

このトピックでは、data Transmission Service (DTS) を使用して、自己管理型OracleデータベースからPolarDB for MySQLクラスターにデータを移行する方法について説明します。 DTS はフルデータ移行と増分データ移行に対応しています。 自己管理型のOracleデータベースからデータを移行する場合、サポートされているすべての移行タイプを選択して、サービスの継続性を確保できます。

前提条件

  • ソースOracleデータベースとターゲットPolarDB for MySQLクラスターが作成されます。

    説明
  • 自己管理型OracleデータベースはARCHIVELOGモードで実行されています。 アーカイブされたログファイルはアクセス可能であり、アーカイブされたログファイルに適切な保存期間が設定されます。 詳細については、『 アーカイブ REDO ログファイルの管理』をご参照ください。

  • 自己管理型Oracleデータベースの補足ログ機能が有効になっており、SUPPLEMENTAL_LOG_DATA_PKおよびSUPPLEMENTAL_LOG_DATA_UIパラメーターはYesに設定されています。 詳細については、『サプリメンタルロギング』をご参照ください。

  • 移行先PolarDB for MySQLクラスターの使用可能なストレージ容量は、自己管理型Oracleデータベースのデータの合計サイズよりも大きくなっています。

使用上の注意

説明
  • スキーマの移行中に、DTSは外部キーをソースデータベースからターゲットデータベースに移行します。

  • 完全データ移行および増分データ移行中、DTSはセッションレベルで外部キーに対する制約チェックおよびカスケード操作を一時的に無効にします。 データ移行中にソースデータベースに対してカスケード更新および削除操作を実行すると、データの不整合が発生する可能性があります。

カテゴリ

説明

ソースデータベースの制限

  • 帯域幅要件: ソースデータベースが属するサーバーには、十分なアウトバウンド帯域幅が必要です。 そうしないと、データ移行速度が低下します。

  • ソースデータベースがExpress Connect経由で接続されたOracle RACデータベースである場合、ソースデータベースを構成するときにデータベースにVIPを指定する必要があります。

  • ソースデータベースがExpress Connect、VPN Gateway、Smart Access Gateway、database Gateway、またはCloud Enterprise Network (CEN) で接続されたOracle RACデータベースの場合、ソースデータベースを構成するときに、単一のクライアントアクセス名 (SCAN) IPアドレスではなく単一のVIPを使用できます。 VIPを指定すると、Oracle RACデータベースのノード・フェイルオーバーはサポートされません。

  • ソースOracleデータベースのフィールドにVARCHAR2型の空の文字列が含まれており、Oracleデータベースではnullと評価され、ターゲットデータベースの対応するフィールドにNOT NULL制約がある場合、移行タスクは失敗します。

  • 移行するオブジェクトの要件:

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

    • Oracleデータベースのバージョンが12c以降の場合、移行するテーブルの名前の長さは30バイトを超えることはできません。

    • 移行するオブジェクトとしてテーブルを選択し、テーブルまたは列の名前の変更など、移行先データベースのテーブルを変更する必要がある場合、1つのデータ移行タスクで最大1,000のテーブルを移行できます。 タスクを実行して1,000を超えるテーブルを移行すると、リクエストエラーが発生します。 この場合、複数のタスクを構成してテーブルをバッチで移行するか、タスクを構成してデータベース全体を移行することをお勧めします。

  • 増分移行を実行するには、次の要件が満たされていることを確認する必要があります。

    • redoロギングとアーカイブロギングを有効にする必要があります。

    • 増分データ移行のみを実行する場合、ソースデータベースのredoログとアーカイブログを24時間以上保存する必要があります。 完全データ移行と増分データ移行の両方を実行する場合、ソースデータベースのredoログとアーカイブログを少なくとも7日間保存する必要があります。 完全なデータ移行が完了したら、保持期間を24時間以上に設定できます。 そうしないと、Data Transmission Service (DTS) がredoログとアーカイブログの取得に失敗し、タスクが失敗する可能性があります。 極端な場合、データの不一致や損失が発生する可能性があります。 上記の要件に基づいて、redoログとアーカイブログの保存期間を設定してください。 それ以外の場合、DTSのサービスレベル契約 (SLA) はサービスの信頼性またはパフォーマンスを保証しません。

  • ソースデータベースで実行する操作の制限:

    • スキーマ移行中および完全データ移行中は、DDL操作を実行してデータベースまたはテーブルのスキーマを変更しないでください。 それ以外の場合、データ移行タスクは失敗します。

    • フルデータ移行のみを実行する場合は、データ移行中にソースデータベースにデータを書き込まないでください。 そうしないと、ソースデータベースとターゲットデータベースの間でデータの不一致が発生する可能性があります。 データの一貫性を確保するために、移行タイプとしてスキーマ移行、完全データ移行、および増分データ移行を選択することを推奨します。

    • データ移行中は、LONGTEXTフィールドを更新しないでください。 それ以外の場合、データ移行タスクは失敗します。

その他の制限

  • データを移行する前に、移行元データベースと移行先データベースのパフォーマンスに対するデータ移行の影響を評価します。 オフピーク時にデータを移行することを推奨します。 完全データ移行中、DTSはソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。

  • 完全データ移行中、同時INSERT操作により、移行先クラスターのテーブルが断片化されます。 完全データ移行が完了すると、移行先クラスターの使用表領域のサイズは移行元データベースのサイズよりも大きくなります。

  • DTSは、過去7日以内に失敗したデータ移行タスクの再開を試みます。 ワークロードを移行先クラスターに切り替える前に、失敗したタスクを停止またはリリースする必要があります。 REVOKEステートメントを実行して、DTSがターゲットデータベースにアクセスするために使用するアカウントの書き込み権限を取り消すこともできます。 それ以外の場合、データ移行タスクが再開された後、ソースデータベースのデータがターゲットデータベースのデータを上書きします。

  • ターゲットデータベースでDDL文の実行に失敗した場合、DTSタスクは引き続き実行されます。 タスクログで実行に失敗したDDLステートメントを表示できます。 タスクログの表示方法の詳細については、「タスクログの表示」をご参照ください。

  • ソースデータベースとターゲットデータベースの文字セットに互換性があることを確認してください。 そうしないと、データの不整合が発生したり、移行タスクが失敗したりします。

  • DTSのスキーマ移行機能を使用することを推奨します。 そうしないと、互換性のないデータ型が原因で移行タスクが失敗する場合があります。

  • ソースデータベースとターゲットデータベースのタイムゾーンは同じである必要があります。

特別なケース

ターゲットデータベースがPolarDB for MySQLクラスターで実行されている場合は、次の制限事項に注意してください。

  • PolarDB for MySQLクラスターのテーブル名は大文字と小文字を区別しません。 ソースOracleデータベースのテーブル名に大文字が含まれている場合、PolarDB for MySQLはテーブルを作成する前にすべての大文字を小文字に変換します。

    ソースOracleデータベースに、大文字のみが異なる同じテーブル名が含まれている場合、これらのテーブル名は重複として識別されます。 その結果、スキーマ移行中に「オブジェクトは既に存在します」というメッセージが表示されます。 移行先データベースでの名前の競合を防ぐために、移行するオブジェクトを構成するときに、オブジェクト名マッピング機能を使用してテーブル名を大文字にすることができます。 詳細は、オブジェクト名のマッピングをご参照ください。

  • DTSは、PolarDB for MySQLクラスターにデータベースを自動的に作成します。 ただし、ソースデータベースの名前がPolarDB for MySQLの要件を満たしていない場合は、データ移行タスクを設定する前に、PolarDB for MySQLクラスターにデータベースを作成する必要があります。 詳細については、「データベース管理操作」をご参照ください。

課金

移行タイプ

インスタンス設定料金

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

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

無料です。

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

増分データ移行

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

移行タイプ

移行タイプ

説明

スキーマの移行

DTSは、オブジェクトのスキーマをターゲットデータベースに移行します。

DTSには、テーブルとインデックスのスキーマ移行に次の制限があります。

  • DTSは、ネストされたテーブルのスキーマ移行をサポートしません。 DTSは、クラスタ化テーブルとインデックス編成テーブル (IOT) を、ターゲットデータベース内の共通テーブルに変換します。

  • DTSは、関数ベースのインデックス、ドメインインデックス、ビットマップインデックス、またはリバースインデックスのスキーマ移行をサポートしていません。

説明

DTSは、ビュー、シノニム、ストアドプロシージャ、関数、パッケージ、ユーザー定義型のオブジェクトのスキーマ移行をサポートしていません。

警告

このトピックでは、ソースデータベースとターゲットデータベースは異種データベースです。 スキーマの移行後、ソースデータベースとターゲットデータベースのスキーマが一致しない場合があります。 データ型変換がビジネスに与える影響を評価することを推奨します。 詳細については、「異種データベース間のデータ型マッピング」をご参照ください。

フルデータ移行

DTSは、必要なオブジェクトの既存のデータを自己管理型Oracleデータベースから移行先データベースに移行します。

増分データ移行

完全なデータ移行が完了すると、DTSは自己管理型Oracleデータベースからredoログ・ファイルを取得します。 次に、DTSは、増分データを自己管理Oracleデータベースから移行先データベースに移行します。

増分データ移行は、データ移行中の自己管理型アプリケーションのサービス継続性を保証します。

増分移行可能なSQL操作

操作タイプ

SQL文

DML

挿入、更新、および削除

DDL

  • CREATE TABLE

    説明

    DTSは、関数がネストされたテーブルを作成するために実行されるCREATE TABLE操作を移行しません。

  • ALTER TABLE、ADD COLUMN、DROP COLUMN、RENAME COLUMN、およびADD INDEX

  • DROP TABLE

  • RENAME TABLE、TRUNCATE TABLE、CREATE INDEX

    説明

    現在のデータベースアカウント内で実行されるCREATE INDEX操作のみを移行できます。

データ型マッピング

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

始める前に

自己管理型のOracleデータベースにログインし、データの収集に使用するアカウントを作成し、そのアカウントに権限を付与します。

説明

データベースアカウントを作成し、そのアカウントに次の表に示すアクセス許可がある場合は、この手順をスキップできます。

データベース

スキーマ移行

完全なデータ移行

増分データ移行

自己管理型Oracleデータベース

スキーマ所有者の権限

スキーマ所有者の権限

データベース管理者 (DBA) の権限

PolarDB for MySQLクラスター

ターゲットデータベースに対する書き込み権限

データベースアカウントを作成し、データベースアカウントに権限を付与するには、次の操作を実行します。

重要

Oracleデータベースから増分データを移行する必要があるが、データベース管理者 (DBA) 権限をデータベースアカウントに付与できない場合は、アーカイブロギングと補足ロギングを有効にし、アカウントにきめ細かい権限を付与できます。

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

    タイプ

    手順

    アーカイブロギング

    次のステートメントを実行して、アーカイブログを有効にします。

    shutdown immediate;
    startup mount;
    alter database archivelog;
    alter database open;
    archive log list;

    補足ロギング

    ビジネス要件に基づいて、データベースまたはテーブルレベルで補足ログを有効にします。

    説明

    データベースレベルの補足ログを有効にして、Data Transmission Service (DTS) タスクの安定性を確保できます。 テーブルレベルの補足ロギングを有効にして、ソースOracleデータベースのディスク使用量を減らすことができます。

    • データベースレベルの補足ロギングの有効化

      1. 次のステートメントを実行して、最小限の補足ロギングを有効にします。

        alter database add supplemental log data;
      2. 次のステートメントを実行して、データベースレベルで主キーと一意キーの補足ログを有効にします。

        alter database add supplemental log data (primary key,unique index) columns;
    • テーブルレベルの補足ロギングの有効化

      1. 次のステートメントを実行して、最小限の補足ロギングを有効にします。

        alter database add supplemental log data;
      2. 次のいずれかの方法を使用して、テーブルレベルの補足ログを有効にします。

        • テーブルレベルでプライマリキーの補足ログを有効にする

          alter table table_name add supplemental log data (primary key) columns;
        • すべての列でテーブルレベルの補足ログを有効にする

          alter table tb_name add supplemental log data (all) columns;

    強制ロギング

    次のステートメントを実行して、強制ロギングを有効にします。

    alter database force logging;
  2. Oracleデータベースアカウントにきめ細かい権限を付与します。

    マルチテナントアーキテクチャを使用する
    # rdsdt_dtsacctという名前のデータベースアカウントを作成し、そのアカウントに権限を付与します。
    rdsdt_dtsacctによるIDENTIFIEDユーザーrdsdt_dtsacctを作成します。rdsdt_dtsacctにセッション作成を付与します。rdsdt_dtsacctへの接続を許可します。rdsdt_dtsacctにリソースを付与します。sys.dbms_logmnrでrdsdt_dtsacctに実行を許可します。V_$LOGMNR_LOGSでrdsdt_dtsacctにselectを付与します。all_objectsのselectをrdsdt_dtsacctに付与します。all_tab_colsのselectをrdsdt_dtsacctに付与します。dba_registryのselectをrdsdt_dtsacctに付与します。rdsdt_dtsacctに任意のテーブルを選択します。rdsdt_dtsacctへのトランザクションの選択を許可します。-- v$log特権
    v_$ logのselectをrdsdt_dtsacctに付与します。-- v$logfile特権
    v_$ logfileのselectをrdsdt_dtsacctに付与します。-- v$archived_log特権
    v_$ archived_logでrdsdt_dtsacctにselectを付与します。-- v $パラメータ特権
    v_$ パラメータのselectをrdsdt_dtsacctに付与します。-- v $データベース特権
    v_$ データベースのselectをrdsdt_dtsacctに付与します。-- v$active_instances特権
    v_$ active_instancesのselectをrdsdt_dtsacctに付与します。-- v $インスタンス特権
    v_$ インスタンスのselectをrdsdt_dtsacctに付与します。-- v$logmnr_content権限
    v_$ logmnr_contentsのselectをrdsdt_dtsacctに付与します。-- システムテーブル
    sys.USE R$ の選択をrdsdt_dtsacctに付与します。select on SYS.OBJ $をrdsdt_dtsacctに付与します。select on SYS.COL $をrdsdt_dtsacctに付与します。select on SYS.IND $をrdsdt_dtsacctに付与します。select on SYS.ICOL $をrdsdt_dtsacctに付与します。select on SYS.CDEF $をrdsdt_dtsacctに付与します。select on SYS.CCOL $をrdsdt_dtsacctに付与します。select on SYS.TABPART $をrdsdt_dtsacctに付与します。select on SYS.TABSUBPART $をrdsdt_dtsacctに付与します。select on SYS.TABCOMPART $をrdsdt_dtsacctに付与します。select_catalog_roleをrdsdt_dtsacctに付与します。
    
    # プラガブルデータベース (PDB) に切り替えます。 rdsdt_dtsacctという名前のデータベースアカウントを作成し、そのアカウントに権限を付与します。
    ALTER SESSION SETコンテナ=ORCLPDB1;
    rdsdt_dtsacctによるIDENTIFIEDユーザーrdsdt_dtsacctを作成します。rdsdt_dtsacctにセッション作成を付与します。rdsdt_dtsacctへの接続を許可します。rdsdt_dtsacctにリソースを付与します。sys.dbms_logmnrでrdsdt_dtsacctに実行を許可します。all_objectsのselectをrdsdt_dtsacctに付与します。all_tab_colsのselectをrdsdt_dtsacctに付与します。dba_registryのselectをrdsdt_dtsacctに付与します。rdsdt_dtsacctに任意のテーブルを選択します。rdsdt_dtsacctへのトランザクションの選択を許可します。-- v$log特権
    v_$ logのselectをrdsdt_dtsacctに付与します。-- v$logfile特権
    v_$ logfileのselectをrdsdt_dtsacctに付与します。-- v$archived_log特権
    v_$ archived_logでrdsdt_dtsacctにselectを付与します。-- v $パラメータ特権
    v_$ パラメータのselectをrdsdt_dtsacctに付与します。-- v $データベース特権
    v_$ データベースのselectをrdsdt_dtsacctに付与します。-- v$active_instances特権
    v_$ active_instancesのselectをrdsdt_dtsacctに付与します。-- v $インスタンス特権
    v_$ インスタンスのselectをrdsdt_dtsacctに付与します。-- v$logmnr_content権限
    v_$ logmnr_contentsのselectをrdsdt_dtsacctに付与します。sys.USE R$ の選択をrdsdt_dtsacctに付与します。select on SYS.OBJ $をrdsdt_dtsacctに付与します。select on SYS.COL $をrdsdt_dtsacctに付与します。select on SYS.IND $をrdsdt_dtsacctに付与します。select on SYS.ICOL $をrdsdt_dtsacctに付与します。select on SYS.CDEF $をrdsdt_dtsacctに付与します。select on SYS.CCOL $をrdsdt_dtsacctに付与します。select on SYS.TABPART $をrdsdt_dtsacctに付与します。select on SYS.TABSUBPART $をrdsdt_dtsacctに付与します。select on SYS.TABCOMPART $をrdsdt_dtsacctに付与します。-- V$PDBS特権
    V_$PDBSのselectをrdsdt_dtsacctに付与します。v $データベースで選択をrdsdt_dtsacctに付与します。dba_objectsのselectをrdsdt_dtsacctに付与します。DBA_TAB_COMMENTSの選択をrdsdt_dtsacctに付与します。dba_tab_colsのselectをrdsdt_dtsacctに付与します。select_catalog_roleをrdsdt_dtsacctに付与します。# コンテナデータベース (CDB) のルートコンテナであるCDB$ROOTに切り替えます。 データベースアカウントを作成し、アカウントに権限を付与します。
    ALTER SESSION SETコンテナ=CDB$ROOT;
    # rdsdt_dtsacctという名前のデータベースアカウントを作成し、そのアカウントに権限を付与します。 Oracleデータベースのデフォルト・パラメータを変更する必要があります。 
    alterセッションセット "_ORACLE_SCRIPT"=true;
    rdsdt_dtsacctによるIDENTIFIEDユーザーrdsdt_dtsacctを作成します。rdsdt_dtsacctにセッション作成を付与します。rdsdt_dtsacctへの接続を許可します。v_$ logmnr_contentsのselectをrdsdt_dtsacctに付与します。rdsdt_dtsacctへのログインを許可します。EXECUTE_CATALOG_ROLEをrdsdt_dtsacctに付与します。sys.dbms_logmnrでrdsdt_dtsacctに実行を許可します。
    
    # rdsdt_dtsacctという名前のデータベースアカウントを作成し、そのアカウントに権限を付与します。
    rdsdt_dtsacctによるIDENTIFIEDユーザーrdsdt_dtsacctを作成します。rdsdt_dtsacctにセッション作成を付与します。rdsdt_dtsacctへの接続を許可します。rdsdt_dtsacctにリソースを付与します。V_$LOGMNR_LOGSでrdsdt_dtsacctにselectを付与します。all_objectsのselectをrdsdt_dtsacctに付与します。all_tab_colsのselectをrdsdt_dtsacctに付与します。dba_registryのselectをrdsdt_dtsacctに付与します。rdsdt_dtsacctに任意のテーブルを選択します。rdsdt_dtsacctへのトランザクションの選択を許可します。v $データベースで選択をrdsdt_dtsacctに付与します。dba_objectsのselectをrdsdt_dtsacctに付与します。DBA_TAB_COMMENTSの選択をrdsdt_dtsacctに付与します。dba_tab_colsのselectをrdsdt_dtsacctに付与します。-- v$log特権
    v_$ logのselectをrdsdt_dtsacctに付与します。-- v$logfile特権
    v_$ logfileのselectをrdsdt_dtsacctに付与します。-- v$archived_log特権
    v_$ archived_logでrdsdt_dtsacctにselectを付与します。-- v $パラメータ特権
    v_$ パラメータのselectをrdsdt_dtsacctに付与します。-- v $データベース特権
    v_$ データベースのselectをrdsdt_dtsacctに付与します。-- v$active_instances特権
    v_$ active_instancesのselectをrdsdt_dtsacctに付与します。-- v $インスタンス特権
    v_$ インスタンスのselectをrdsdt_dtsacctに付与します。-- v$logmnr_content権限
    v_$ logmnr_contentsのselectをrdsdt_dtsacctに付与します。sys.USE R$ の選択をrdsdt_dtsacctに付与します。select on SYS.OBJ $をrdsdt_dtsacctに付与します。select on SYS.COL $をrdsdt_dtsacctに付与します。select on SYS.IND $をrdsdt_dtsacctに付与します。select on SYS.ICOL $をrdsdt_dtsacctに付与します。select on SYS.CDEF $をrdsdt_dtsacctに付与します。select on SYS.CCOL $をrdsdt_dtsacctに付与します。select on SYS.TABPART $をrdsdt_dtsacctに付与します。select on SYS.TABSUBPART $をrdsdt_dtsacctに付与します。select on SYS.TABCOMPART $をrdsdt_dtsacctに付与します。rdsdt_dtsacctへのログインを許可します。EXECUTE_CATALOG_ROLEをrdsdt_dtsacctに付与します。sys.dbms_logmnrでrdsdt_dtsacctに実行を許可します。select_catalog_roleをrdsdt_dtsacctに付与します。

手順

  1. [データ移行タスク] ページに移動します。

    1. データ管理 (DMS) コンソールにログインします。

    2. 上部のナビゲーションバーで、ポインタをDTS上に移動します。

    3. DTS (DTS) > データ移行を選択します。

    説明
  2. データ移行タスクの右側にあるドロップダウンリストから、データ移行インスタンスが存在するリージョンを選択します。

    説明

    新しいDTSコンソールを使用する場合は、左上隅にデータ移行インスタンスが存在するリージョンを選択する必要があります。

  3. [タスクの作成] をクリックします。 [データ移行タスクの作成] ページで、ソースデータベースとターゲットデータベースを設定します。 次の表にパラメーターを示します。

    警告

    ソースデータベースとターゲットデータベースを設定した後、ページの上部に表示される制限を読むことを推奨します。 そうしないと、タスクが失敗したり、データの不一致が発生します。

    セクション

    パラメーター

    説明

    非該当

    タスク名

    タスクの名前。 タスク名は自動生成されます。 タスクを識別するために、有益な名前を指定することを推奨します。 一意のタスク名を指定する必要はありません。

    ソースデータベース

    データベースタイプ

    移行元ディスクのタイプを設定します。 [Oracle] を選択します。

    アクセス方法

    ソースデータベースのアクセス方法。 この例では、[パブリックIPアドレス] が選択されています。

    説明

    他のアクセス方法を選択した場合は、自己管理型のOracleデータベースに必要な環境をセットアップする必要があります。 詳細については、「準備の概要」をご参照ください。

    インスタンスリージョン

    ソースOracleデータベースが存在するリージョン。

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

    自己管理型Oracleデータベースへのアクセスに使用されるIPアドレス。

    ポート番号

    自己管理型Oracleデータベースのサービス・ポート番号。 デフォルト値: 1521

    説明

    この例では、自己管理型Oracleデータベースのサービス・ポートにインターネット経由でアクセスできる必要があります。

    Oracleタイプ

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

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

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

    データベースアカウント

    ソースOracleデータベースのアカウント。 アカウントに必要な権限の詳細については、「開始前」をご参照ください。

    データベースパスワード

    データベースインスタンスへのアクセスに使用されるパスワード。

    宛先データベース

    データベースタイプ

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

    アクセス方法

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

    インスタンスリージョン

    ターゲットPolarDB for MySQLクラスターが存在するリージョン。

    PolarDBクラスターID

    ソースPolarDB for MySQLクラスターのIDを選択します。

    データベースアカウント

    ターゲットPolarDB for MySQLクラスターのデータベースアカウント。 アカウントに必要な権限については、「開始前」をご参照ください。

    データベースパスワード

    データベースインスタンスへのアクセスに使用されるパスワード。

  4. 自己管理データベースにIPアドレスホワイトリストが設定されている場合は、DTSサーバーのCIDRブロックをIPアドレスホワイトリストに追加します。 次に、接続テスト をクリックします。

    警告

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

  5. 移行するオブジェクトと詳細設定を設定します。

    • 基本設定

      パラメータまたは設定

      説明

      移行タイプ

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

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

      説明

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

      競合テーブルの処理モード

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

        説明

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

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

        警告

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

        • ソースデータベースとターゲットデータベースが同じスキーマを持ち、データレコードがターゲットデータベースの既存のデータレコードと同じプライマリキーを持つ場合、次のシナリオが発生する可能性があります。

          • 完全データ移行中、DTSはデータレコードを移行先データベースに移行しません。 ターゲットデータベースの既存のデータレコードが保持されます。

          • 増分データ移行中に、DTSはデータレコードを移行先データベースに移行します。 ターゲットデータベースの既存のデータレコードが上書きされます。

        • ソースデータベースとターゲットデータベースのスキーマが異なる場合、特定の列のみが移行されるか、データ移行タスクが失敗します。 作業は慎重に行ってください。

      ソースオブジェクト

      ソースオブジェクト セクションから1つ以上のオブジェクトを選択します。 向右小箭头アイコンをクリックして、選択中のオブジェクト セクションにオブジェクトを追加します。

      データベースとテーブルの名前変更

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

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

      説明

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

      フィルターデータ

      データをフィルタリングする条件を指定できます。 詳細については、「フィルター条件の指定」をご参照ください。

      増分移行するSQL操作の選択

      [選択済みオブジェクト] セクションで、オブジェクトを右クリックします。 表示されるダイアログボックスで、移行するDDLおよびDML操作を選択します。 詳細については、「増分移行可能なSQL操作」をご参照ください。

    • 詳細設定

      パラメーター

      説明

      Set Alerts

      データ移行タスクのアラートを設定するかどうかを指定します。 タスクが失敗するか、移行の待ち時間が指定されたしきい値を超えると、アラート送信先は通知を受け取ります。 有効な値:

      失敗した接続の再試行時間

      失敗した接続のリトライ時間範囲。 データ移行タスクの開始後にソースデータベースまたはターゲットデータベースの接続に失敗した場合、DTSは再試行時間範囲内ですぐに接続を再試行します。 有効な値: 10 ~ 1440 単位は分です。 デフォルト値: 720 パラメーターを30より大きい値に設定することを推奨します。 指定した再試行時間内にDTSがソースデータベースとターゲットデータベースに再接続された場合、DTSはデータ移行タスクを再開します。 それ以外の場合、データ移行タスクは失敗します。

      説明
      • 同じソースまたはターゲットデータベースを共有する複数のデータ移行タスクに対して異なるリトライ時間範囲を指定した場合、後で指定される値が優先されます。

      • DTSが接続を再試行すると、DTSインスタンスに対して課金されます。 業務要件に基づいて再試行時間範囲を指定することを推奨します。 ソースデータベースとターゲットインスタンスがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。

  6. ページの下部で、次:タスク設定の保存と事前チェック をクリックします。

    ポインタを 次:タスク設定の保存と事前チェック に移動し、[OpenAPIパラメーターのプレビュー] をクリックして、関連するAPI操作を呼び出してDTSタスクを設定するときに指定するパラメーターを表示できます。

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

    • タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある [詳細の表示] をクリックします。 チェック結果に基づいて原因を分析した後、問題のトラブルシューティングを行います。 次に、もう一度プレチェックを実行します。

    • 事前チェック中にアイテムに対してアラートがトリガーされた場合:

      • アラートアイテムを無視できない場合は、失敗したアイテムの横にある [詳細の表示] をクリックして問題のトラブルシューティングを行います。 次に、もう一度プレチェックを実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。 [詳細の表示] ダイアログボックスで、[無視] をクリックします。 表示されたメッセージボックスで、[OK] をクリックします。 次に、[再度事前チェック] をクリックして、事前チェックを再度実行します。 アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

  7. 成功率100% になるまで待ちます。 次に、[次へ: インスタンスの購入] をクリックします。

  8. 読んで同意するデータ伝送サービス (従量課金) サービス規約チェックボックスを選択します。

  9. [購入して開始] をクリックします。 表示されるメッセージで、 [OK] をクリックします。

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