翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS DMS と AWS SCT を使用して Oracle データベースを Amazon Redshift に移行する
作成者: Piyush Goyal (AWS) と Brian motzer (AWS)
概要
このパターンは、AWS Database Migration Service (AWS DMS) (AWS DMS) と AWS Schema Conversion Tool (AWS SCT) を使用して Oracle データベースをAmazon Web Services (AWS) クラウド内の Amazon Redshift クラウドデータウェアハウスに移行するためのガイダンスを提供します。このパターンは、オンプレミスまたは Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにインストールされているソース Oracle データベースを対象としています。Oracle Amazon Relational Database Service (Amazon RDS) についても説明します。
前提条件と制限
前提条件
オンプレミスのデータセンターまたは AWS クラウドで実行されている Oracle データベース
アクティブな AWS アカウント
Oracle データベースを 「AWS DMS のソースとして使用する」ことに精通していること
「Amazon Redshift データベースを AWS DMS のターゲット」として使用することについての知識
Amazon RDS、Amazon Redshift、該当するデータベーステクノロジー、および SQL に関する知識
AWS SCT がインストールされている AWS SCT コネクタ用の Java データベース接続 (JDBC) ドライバー
製品バージョン
セルフ マネージド 型 Oracle データベースの場合、AWS DMS ではバージョン 10.2 以降(バージョン 10.x の場合)、11g から 12.2、18c、19c までのすべての Oracle データベースエディションに対応しています。 AWS が 管理する Amazon RDS for Oracle Database の場合、 AWS DMS はバージョン 11g (バージョン 11.2.0.4 以降) および 12.2、18c、19c までのすべての Oracle データベースエディションに対応しています。最も包括的なバージョンと機能サポートのため、AWS DMS の最新バージョンを使用することをお勧めします。
アーキテクチャ
ソーステクノロジースタック
次のいずれかです:
オンプレミスの Oracle データベース
EC2 インスタンス上の Oracle データベース
Amazon RDS for Oracle DB インスタンス。
ターゲットテクノロジースタック
Amazon Redshift
ターゲットアーキテクチャ
AWS クラウドで実行されている Oracle データベースから Amazon Redshift へ:

オンプレミスのデータセンターで実行されている Oracle データベースから Amazon Redshift へ:

ツール
「AWS DMS」- AWS データ移行サービス (AWS DMS) は、データベースを AWS に迅速かつ安全に移行するのに役立ちます。移行中でもソースデータベースが完全に維持され、このデータベースを利用するアプリケーションのダウンタイムは最小限に抑えられます。AWS DMS は、広く普及しているほとんどの商用データベースとオープンソースデータベース間のデータ移行にご利用いただけます。
「AWS SCT」- AWS Schema Conversion Tool (AWS SCT) を使用して、既存のデータベーススキーマをあるデータベースエンジンから別のデータベースエンジンに変換できます。Oracle、SQL Server、PostgresSQL など、さまざまなデータベースエンジンをソースとしてサポートしています。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
データベースのバージョンを検証します。 | ソースとターゲットのデータベースバージョンを検証し、それらが AWS DMS でサポートされていることを確認します。サポートされている Oracle データベースのバージョンについては、「Oracle データベースを AWS DMS のソースとしての使用」を参照してください。ターゲットとして Amazon Redshift を使用する方法については、「AWS DMS のターゲットとしての Amazon Redshift データベースの使用」を参照してください。 | DBA |
VPC とセキュリティグループを作成します。 | AWS アカウントに存在しない場合、仮想プライベートクラウド (VPC) を作成します。ソースデータベースとターゲットデータベースへのアウトバウンドトラフィック用のセキュリティグループを作成します。詳細については、Amazon Virtual Private Cloud (Amazon VPC) ドキュメント を参照してください。 | システム管理者 |
AWS SCT をインストールします。 | AWS SCT の最新バージョンと対応するドライバーをダウンロードしてインストールします。詳細については、「 AWS SCTのインストール、検証、及び更新」を参照してください。 | DBA |
AWS DMS タスクのユーザーを作成します。 | ソースデータベースに AWS DMS ユーザーを作成し、それに READ 権限を付与します。このユーザーは AWS SCT と AWS DMS の両方で使用されます。 | DBA |
DB 接続をテストします。 | Oracle DB インスタンスへの接続をテストします。 | DBA |
AWS SCT で新しいプロジェクトを作成します。 | AWS SCT ツールを開き、新しいプロジェクトを作成します。 | DBA |
移行する Oracle スキーマを分析します。 | AWS SCT を使用して移行するスキーマを分析し、データベース移行評価レポートを生成します。詳細については、AWS SCT ドキュメントの「データベース移行評価レポートの作成」 を参照してください。 | DBA |
評価レポートをレビューします。 | 移行の可否についてレポートを確認します。一部の DB オブジェクトが手動の変換が必要です。レポートの詳細については、AWS SCT ドキュメントの「評価レポートの表示」 を参照してください。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
Amazon Redshift クラスターを作成します。 | 先程作成した VPC 内に Amazon Redshift クラスターを作成します。詳細については、Amazon Redshift ドキュメントの 「Amazon Redshift クラスター」を参照してください。 | DBA |
データベースユーザーを作成する。 | Oracle ソースデータベースからユーザ、ロール、権限のリストを抽出します。ターゲット Amazon Redshift データベースにユーザーを作成し、前のステップのロールを適用します。 | DBA |
データベースのパラメータを評価します。 | Oracle ソースデータベースのデータベースオプション、パラメータ、ネットワークファイル、およびデータベースリンクを確認し、ターゲットへの適用性を評価します。 | DBA |
関連する設定をターゲットに適用します。 | このステップの詳細については、Amazon Redshift ドキュメントの「設定リファレンス」を参照してください。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
ターゲットデータベースに AWS DMS ユーザーを作成します。 | ターゲットデータベースに AWS DMS ユーザーを作成し、読み取り権限と書き込み権限を付与します。AWS SCT からの接続を検証します。 | DBA |
スキーマを変換し、SQL レポートを確認して、エラーや警告を保存します。 | 詳細については、AWS SCT ドキュメントの 「AWS SCT を使用したデータベーススキーマの変換」を参照してください。 | DBA |
スキーマの変更をターゲットデータベースに適用するか、.sql ファイルとして保存します。 | 手順については、AWS SCT ドキュメントの 「AWS SCT の「変換されたスキーマの保存と適用」を参照してください。 | DBA |
ターゲットデータベースのオブジェクトを検証します。 | 前のステップで作成されたオブジェクトをターゲットデータベースで検証します。正常に変換されなかったオブジェクトはすべて書き直すか、再設計します。 | DBA |
外部キーとトリガーを無効にします。 | 外部キーとトリガーをすべて無効にします。これにより、AWS DMS の実行時に全ロードプロセス中にデータロードの問題が発生する可能性があります。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS DMS レプリケーションインスタンスを作成します。 | AWS マネジメントコンソール にサインインし、AWS DMS コンソールを開きます。ナビゲーションペインで、レプリケーション インスタンスを選択し、次にレプリケーション インスタンスを作成します。詳細な手順については、AWS DMS ドキュメントの AWS DMS の使用開始の 「ステップ 1 」を参照してください。 | DBA |
ソースおよびターゲットエンドポイントを作成します。 | ソースエンドポイントとターゲットエンドポイントを作成し、レプリケーションインスタンスからソースエンドポイントとターゲットエンドポイントの両方への接続をテストします。詳細な手順については、AWS DMS ドキュメントの AWS DMS の使用開始の 「ステップ 2 」 を参照してください。 | DBA |
レプリケーションタスクを作成します。 | レプリケーションタスクを作成し、適切な移行方法を選択します。詳細な手順については、AWS DMS ドキュメントの AWS DMS の使用開始の 「ステップ 3 」を参照してください。 | DBA |
データレプリケーションを開始する。 | レプリケーションタスクを開始し、ログにエラーがないか監視します。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
アプリケーションサーバーを作成します。 | AWS に新しいアプリケーションサーバーを作成します。 | アプリ所有者 |
アプリケーションコードを移行します。 | アプリケーションコードを新しいサーバーに移行します。 | アプリ所有者 |
アプリケーションサーバーを設定します。 | ターゲットデータベースとドライバー用にアプリケーションサーバーを設定します。 | アプリ所有者 |
アプリケーションコードを最適化します。 | ターゲットエンジンに合わせてアプリケーションコードを最適化します。 | アプリ所有者 |
タスク | 説明 | 必要なスキル |
---|---|---|
ユーザーを検証。 | ターゲット Amazon Redshift データベースで、ユーザーを検証し、ロールと権限を付与します。 | DBA |
アプリケーションがロックされていることを確認します。 | 今後変更されないように、アプリケーションがロックされていることを確認します。 | アプリ所有者 |
データを検証します。 | ターゲットの Amazon Redshift データベース内のデータを検証します。 | DBA |
外部キーとトリガーを有効にします。 | ターゲット Amazon Redshift データベースで外部キーとトリガーを有効にします。 | DBA |
新しいデータベースに接続します。 | 新しい Amazon Redshift データベースに接続するようにアプリケーションを設定します。 | アプリ所有者 |
最終チェックを行います。 | 本番稼働前に、最終的かつ包括的なシステムチェックを行います。 | DBA、アプリ所有者 |
本番稼働。 | ターゲットの Amazon Redshift データベースで稼働を開始します。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
一時的な AWS リソースをシャットダウンします。 | AWS DMS レプリケーションインスタンスや AWS SCT に使用される EC2 インスタンスなどの一時的な AWS リソースをシャットダウンします。 | DBA、システム管理者 |
文書を確認する。 | 移行プロジェクトドキュメントを確認して検証します。 | DBA、システム管理者 |
メトリクスを収集します。 | 移行にかかる時間、手動タスクとツールタスクの比率、総コスト削減額など、移行プロジェクトに関する情報を収集します。 | DBA、システム管理者 |
プロジェクトを終了します。 | プロジェクトを終了し、フィードバックを提供します。 | DBA、システム管理者 |
関連リソース
リファレンス
チュートリアルと動画
「AWS SCT と AWS DMS について深く掘り下げてみよう
」 (AWS re: Invent 2019 からのプレゼンテーション)