| title | Migrate from Amazon RDS for Oracle to TiDB Cloud Using AWS DMS |
|---|---|
| summary | AWS Database Migration Service (AWS DMS) を使用して、Amazon RDS for Oracle からTiDB Cloud Starterへデータを移行する方法を学びましょう。 |
AWS DMSを使用してAmazon RDS for OracleからTiDB Cloudに移行する {#migrate-from-amazon-rds-for-oracle-to-tidb-cloud-using-aws-dms}
このドキュメントでは、AWS Database Migration Service (AWS DMS) を使用して Amazon RDS for Oracle からTiDB Cloud Starterへデータを移行する手順を段階的に説明します。
ヒント:
このドキュメントの手順は、 TiDB Cloud Starterインスタンスに加えて、 TiDB Cloud Essentialインスタンスでも適用できます。
TiDB CloudとAWS DMSについてさらに詳しく知りたい場合は、以下をご覧ください。
AWS DMSは、リレーショナルデータベース、データウェアハウス、NoSQLデータベース、およびその他の種類のデータストアの移行を可能にするクラウドサービスです。
PostgreSQL、Oracle、SQL Serverなどの異種データベースからTiDB Cloudへデータを移行する場合は、AWS DMSの使用をお勧めします。
大まかに言うと、以下の手順に従ってください。
- Oracle用のAmazon RDSソースを設定します。
- TiDB Cloud Starterインスタンスを作成します。
- AWS DMSを使用してデータ移行(フルロード)を設定します。
以下の図は、高レベルのアーキテクチャを示しています。
始める前に、以下の前提条件をお読みください。
次に、AWS DMS を使用して Amazon RDS for Oracle からTiDB Cloudへデータを移行する方法を学びます。
AWSコンソールにログインし、AWS VPCを作成してください。後でこのVPC内にOracle RDSおよびDMSインスタンスを作成する必要があります。
VPC の作成方法については、 VPCの作成参照してください。
先ほど作成したVPC内にOracle DBインスタンスを作成し、パスワードを控えてパブリックアクセス権限を付与してください。AWSスキーマ変換ツールを使用するには、パブリックアクセスを有効にする必要があります。なお、本番環境でパブリックアクセス権限を付与することは推奨されません。
Oracle DB インスタンスの作成方法については、「Oracle DB インスタンスOracle DBインスタンスを作成し、Oracle DBインスタンス上のデータベースに接続する。
以下のスクリプトを使用して、github_events テーブルに 10,000 行のデータを作成し、データを投入します。GitHub イベントデータセットはGHアーカイブからダウンロードできます。 10,000 行のデータが含まれています。以下の SQL スクリプトを使用して Oracle で実行します。
SQLスクリプトの実行が完了したら、Oracleのデータを確認してください。以下の例では、 DBeaverを使用してデータを照会します。
-
TiDB Cloudコンソールにログインします。
-
私のTiDBページで、対象のTiDB Cloud Starterインスタンスの名前をクリックすると、その概要ページに移動します。
-
右上隅にある**「接続」**をクリックします。
-
**「パスワードを生成」**をクリックしてパスワードを生成し、生成されたパスワードをコピーしてください。
-
AWS DMS コンソールのレプリケーションインスタンスページに移動し、対応するリージョンに切り替えます。
-
VPC 内に
dms.t3.largeを使用して AWS DMS レプリケーション インスタンスを作成します。
注記:
TiDB Cloud Starterで動作する AWS DMS レプリケーション インスタンスを作成する詳細な手順については、 AWS DMSをTiDB Cloudに接続するを参照してください。
-
AWS DMSコンソールで、左側のペインにある
Endpointsメニュー項目をクリックします。 -
OracleのソースエンドポイントとTiDBのターゲットエンドポイントを作成します。
以下のスクリーンショットは、ソースエンドポイントの設定を示しています。
以下のスクリーンショットは、ターゲットエンドポイントの設定を示しています。
注記:
TiDB Cloud Starter DMS エンドポイントを作成する詳細な手順については、 AWS DMSをTiDB Cloudに接続する参照してください。
この例では、スキーマ定義が単純なため、AWS DMS がスキーマを自動的に処理します。
AWS Schema Conversion Tool を使用してスキーマを移行する場合は、 AWS SCTのインストール参照してください。
詳細については、 AWS SCTを使用してソーススキーマをターゲットデータベースに移行する参照してください。
-
AWS DMS コンソールで、 データ移行タスクページに移動します。お住まいの地域に切り替えてください。次に、ウィンドウの右上隅にある**「タスクの作成」を**クリックします。
-
データベース移行タスクを作成し、選択ルールを指定します。
-
タスクを作成し、開始し、タスクが完了するまで待ちます。
-
テーブル統計をクリックしてテーブルを確認してください。スキーマ名は
ADMINです。
TiDB Cloud Starterインスタンスに接続します。そして、 admin.github_eventテーブルのデータを確認します。次のスクリーンショットに示すように、DMSはgithub_eventsテーブルと10000行のデータを正常に移行しました。
AWS DMS を使用すると、このドキュメントの例に従って、任意の上流の AWS RDS データベースからデータを正常に移行できます。
移行中に問題や障害が発生した場合は、 CloudWatchのログ情報を確認して問題のトラブルシューティングを行ってください。












