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

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

最終更新日:Oct 18, 2024

このトピックでは、data Transmission Service (DTS) を使用して、PolarDB for PostgreSQLクラスターから自己管理型Oracleデータベースにデータを移行する方法について説明します。 これは、データ逆流テストや機能テストなどのシナリオに適しています。

前提条件

  • ソースPolarDB for PostgreSQLクラスターから移行するテーブルには、プライマリキーまたはUNIQUE NOT NULLインデックスが含まれている必要があります。
  • 自己管理型Oracleデータベースのバージョン番号は、9i、10g、11g、12c、18c、または19cです。
  • テーブルなどのオブジェクトのスキーマは、自己管理型Oracleデータベースに作成されます。
  • 自己管理型Oracleデータベースのストレージ容量は、PolarDB for PostgreSQLクラスター内のデータの合計サイズよりも大きくなっています。

制限事項

  • このシナリオでは、DTSは完全データ移行と増分データ移行のみをサポートします。 DTSはスキーマ移行をサポートしていません。
  • 完全データ移行中、DTSはソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。 データを移行する前に、移行元データベースと移行先データベースのパフォーマンスに対するデータ移行の影響を評価します。 オフピーク時にデータを移行することを推奨します。
  • 自己管理型OracleデータベースがReal Application Cluster (RAC) アーキテクチャでデプロイされ、Alibaba Cloud仮想プライベートクラウド (VPC) を介してDTSに接続されている場合、Oracle RACのSingle Client Access Name (SCAN) IPアドレスと各ノードの仮想IPアドレス (VIP) をVPCに接続し、ルートを設定する必要があります。 この設定により、DTSタスクが期待どおりに実行できるようになります。 詳細については、「VPN Gatewayを使用したデータセンターのDTSへの接続」をご参照ください。

    重要

    DTSコンソールでソースOracleデータベースを構成する場合、Oracle RACのSCAN IPアドレスをデータベースエンドポイントまたはIPアドレスとして指定できます。

  • データ移行タスクは、単一のデータベースからのみデータを移行できます。 複数のデータベースからデータを移行するには、データベースごとにデータ移行タスクを作成する必要があります。
  • 移行するオブジェクトとしてスキーマを選択し、スキーマにテーブルを作成するか、RENAMEステートメントを実行してスキーマ内のテーブルの名前を変更する場合は、テーブルにデータを書き込む前にALTER table schema.table REPLICA IDENTITY FULL; ステートメントを実行する必要があります。
    説明 上記のステートメントのschema変数とtable変数を、スキーマ名とテーブル名に置き換えます。
  • データ移行のレイテンシを正確にするために、DTSはdts_postgres_heartbeatという名前のハートビートテーブルをソースデータベースに追加します。 次の図は、ハートビートテーブルのスキーマを示しています。 polarPG to O-1
  • ソースデータベースに実行時間の長いトランザクションがあり、タスクに増分データ移行が含まれている場合、実行時間の長いトランザクションが送信される前に生成されたWALログはクリアされないため、蓄積され、ソースデータベースのストレージ領域が不十分になります。

課金

移行タイプタスク設定料金インターネットトラフィック料金
フルデータ移行無料です。 インターネット経由でAlibaba Cloudからデータが移行された場合にのみ課金されます。 詳細については、「課金の概要」をご参照ください。
増分データ移行有料。 詳細については、「課金の概要」をご参照ください。

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

挿入、更新、および削除

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

データベース必要な権限
PolarDB PostgreSQL特権アカウントの権限
自己管理型Oracleデータベーススキーマ所有者の権限

手順

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

    説明

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

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

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

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

  5. ソースデータベースとターゲットデータベースを設定します。
    polarPG to O-2
    セクションパラメーター説明
    非該当タスク名DTSが自動的に生成するタスク名。 タスクを簡単に識別できるように、わかりやすい名前を指定することをお勧めします。 一意のタスク名を指定する必要はありません。
    移行元データベースインスタンスタイプ移行元ディスクのタイプを設定します。 [PolarDB] を選択します。
    インスタンスリージョンソースPolarDBクラスターが存在するリージョン。
    PolarDBインスタンスIDソースPolarDB for PostgreSQLクラスターのID。
    データベースアカウントソースPolarDBクラスターのデータベースアカウント。 アカウントに必要な権限の詳細については、「データベースアカウントに必要な権限」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードを設定します。
    説明 ソースデータベースパラメーターを設定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が有効かどうかを確認します。 情報が有効な場合は、[合格] メッセージが表示されます。 [失敗] メッセージが表示された場合は、[失敗] の横にある [チェック] をクリックして、チェック結果に基づいて情報を変更します。
    ターゲットデータベースインスタンスタイプターゲットデータベースのアクセス方法。 この例では、パブリックIPアドレスを持つユーザー作成データベースが選択されています。
    説明 ターゲットの自己管理データベースが別のタイプの場合は、データベースに必要な環境を設定する必要があります。 詳細については、「準備の概要」をご参照ください。
    インスタンスリージョン指定する必要はありません。
    データベースエンジンターゲットデータベースのタイプ。 [Oracle] を選択します。
    Hostname or IP Address自己管理型Oracleデータベースへのアクセスに使用されるIPアドレス。 この例では、パブリックIPアドレスが使用されます。
    ポート番号自己管理型Oracleデータベースのサービス・ポート番号。 この例では、1521が使用されます。
    インスタンスタイプ
    • [非RACインスタンス] を選択した場合、SIDパラメーターを指定する必要があります。
    • RACまたはPDBインスタンスを選択した場合、サービス名パラメーターを指定する必要があります。
    この例では、[非RACインスタンス] が選択されています。
    SIDターゲットデータベースのシステムID (SID) 。
    データベースアカウント自己管理型Oracleデータベースのデータベース・アカウント。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードを設定します。
    説明 ターゲットデータベースパラメーターを設定したら、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が有効かどうかを確認します。 情報が有効な場合は、[合格] メッセージが表示されます。 [失敗] メッセージが表示された場合は、[失敗] の横にある [チェック] をクリックして、チェック結果に基づいて情報を変更します。
  6. ページの右下隅にある [ホワイトリストと次への設定] をクリックします。
    警告

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

  7. 移行タイプ、移行ポリシー、および移行するオブジェクトを選択します。
    polarPG to O-3
    設定説明
    オブジェクトの名前を変更するかどうかを指定するオブジェクト名マッピング機能を使用して、移行先クラスターに移行するオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。
    ソースデータベースまたはターゲットデータベースへの接続が失敗した場合のリトライ時間範囲の指定既定では、DTSがソースデータベースまたはターゲットデータベースへの接続に失敗した場合、DTSは次の720分 (12時間) 以内に再試行します。 業務要件に基づいて再試行時間範囲を指定できます。 指定された時間範囲内にDTSがソースデータベースとターゲットデータベースに再接続された場合、DTSはデータ移行タスクを再開します。 それ以外の場合、データ移行タスクは失敗します。
    説明 DTSがソースデータベースとターゲットデータベースへの再接続を試みる時間範囲内で、DTSインスタンスに対して課金されます。 業務要件に基づいて再試行時間範囲を指定することを推奨します。 ソースデータベースとターゲットデータベースがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。
  8. ページの右下隅にある [事前チェック] をクリックします。

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

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

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

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

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

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

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

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

    • 完全なデータ移行と増分データ移行

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

      重要 データ移行タスクを手動で停止する適切な時期を選択することを推奨します。 たとえば、オフピーク時やワークロードを移行先クラスターに切り替える前にタスクを停止できます。
      1. 移行タスクのプログレスバーに [増分データ移行][移行タスクは遅延しません] が表示されるまで待ちます。 その後、ソースデータベースへのデータの書き込みを数分間停止します。 増分データ移行のレイテンシがプログレスバーに表示される場合があります。
      2. 増分データ移行のステータスが [データ移行タスクは遅延なし] に変わるまで待ちます。 次に、移行タスクを手動で停止します。