SharePlex と AWS DMS を使用して、Oracle 8i または 9i から Amazon RDS for Oracle に移行 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SharePlex と AWS DMS を使用して、Oracle 8i または 9i から Amazon RDS for Oracle に移行

作成者: Ramu Jagini (AWS)

概要

このパターンでは、オンプレミスの Oracle 8i または 9i データベースを、 Oracle データベースの Amazon Relational Database Service (Amazon RDS) に移行する方法について説明してます。このパターンを使用して、Quest SharePlex を同期レプリケーションに使用すると、ダウンタイムを短縮して移行を完了できます。

AWS Database Migration Service (AWS DMS) はソース環境として Oracle 8i または 9i が適用されないため、移行には中間 Oracle データベースインスタンスを使用する必要があります。「SharePlex 7.6.3」 を使用して、以前の Oracle データベースバージョンから新しい Oracle データベースバージョンに複製できます。中間 Oracle データベースインスタンスは SharePlex 7.6.3 のターゲットとして互換性があり、AWS DMS またはそれ以降の SharePlex リリースのソースとしても適用されます。この適用により、Amazon RDS for Oracle ターゲット環境へのデータの以降のレプリケーションが可能になります。

いくつかの廃止されたデータ型や特徴量が、Oracle 8i または 9i から最新バージョンの Oracle Database への移行に影響する可能性があることを考慮します。この影響を軽減するために、このパターンでは Oracle 11.2.0.4 を中間データベースバージョンとして使用し、Amazon RDS for Oracle ターゲット環境への移行前にスキーマコードを最適化します。

前提条件と制限

前提条件

  • アクティブなAWS アカウント

  • オンプレミス環境のソース Oracle 8i または 9i データベース

  • Amazon Elastic Compute Cloud (Amazon EC2) でのステージングの「Oracle Database 12c Release 2」 (12CR2)

  • Quest SharePlex 7.6.3 (商用グレード)

制約事項

製品バージョン

  • ソースデータベース用の Oracle 8i または 9i

  • ステージングデータベースの Oracle 12CR2 (Amazon RDS for Oracle バージョンと一致する必要があります)

  • ターゲットデータベースの Oracle 12CR2 以降 (Amazon RDS for Oracle)

アーキテクチャ

ソーステクノロジースタック

  • Oracle 8i または 9i データベース

  • SharePlex

ターゲットテクノロジースタック

  • 「Amazon RDS for Oracle」

移行アーキテクチャ

次の図表では、オンプレミス環境から AWS クラウドの Oracle 8i または 9i データベースをオンプレミス環境から AWS クラウドの Amazon RDS for Oracle DB インスタンスに移行する方法を示します。

オンプレミスの Oracle データベースを Amazon RDS on AWS に移行するためのワークフロー。

この図表は、次のワークフローを示しています:

  1. Oracle ソースデータベースをアーカイブログモード、強制ロギング、および補足ロギングでイネーブルにします。

  2. リカバリマネージャー (RMAN) のポイントインタイムリカバリと 「FLASHBACK_SCN」 を使用して Oracle ステージングデータベースを Oracle ソースデータベースから復元します。

  3. FLASHBACK_SCN (RMAN で使用されている) を使用して、 Oracle ソースデータベースから REDO ログを読み取るように SharePlex を設定します。

  4. SharePlex レプリケーションを開始して、Oracle ソースデータベースから Oracle ステージングデータベースにデータを同期します。

  5. EXPDP と FLASHBACK_SCN を伴うIMPDP を使用して Amazon RDS for Oracle のターゲットデータベースを復元します。

  6. FLASHBACK_SCN (EXPDP で使われている) を使用して、AWS DMS とそのソースタスクを Oracle ステージングデータベースとして設定し、Amazon RDS for Oracle をターゲットデータベースとして設定します。

  7. AWS DMS タスクを開始して、Oracle ステージングデータベースから Oracle ターゲットデータベースにデータを同期します。

ツール

  • Amazon Relational Database Service (Amazon RDS) を使用して、AWS クラウドでリレーショナルデータベース (DB) をセットアップ、運用、スケーリングできます。

  • AWS Database Migration Service (AWS DMS)」 を使用して、データストアを AWS クラウドへ、またはクラウドセットアップとオンプレミスセットアップの組み合わせの間に移行します。

  • Quest SharePlex」 は、ダウンタイムを最小限に抑え、データ損失なしでデータを移動できる Oracle 間のデータ複製ツールです。

  • リカバリマネージャー (RMAN)」 は、データベースのバックアップとリカバリのタスクを実行する Oracle データベースクライアントです。データベースファイルのバックアップ、リストア、リカバリを大幅に簡素化します。

  • データパンプエクスポート」 を使用して、データとメタデータをダンプファイルセットと呼ばれるオペレーティングシステムファイルのセットにアップロードできます。ダンプファイルセットは、「データパンプインポート」 ユーティリティまたは 「DBMS_DATAPUMP」 パッケージでのみインポートできます。

エピック

タスク説明必要なスキル

EC2 インスタンスを作成します。

  1. EC2 インスタンスを作成します。 

  2. Oracle 12CR2 を EC2 インスタンスにインストールして Oracle ステージングデータベースとして使用します。

Oracle 管理

ステージングデータベースを準備します。

Oracle 8i または 9i データベースソース環境から RMAN バックアップを取得して、Oracle 12CR2 のアップグレードとして復元できるように Oracle ステージングデータベースを準備します。

詳細については、Oracle ドキュメントの「Oracle 9i リカバリマネージャーユーザーズガイド」 と「データベースバックアップ およびリカバリーユーザーズガイド」 を参照してください。

Oracle 管理

SharePlex を設定します。

SharePlex ソースをオンプレミスの Oracle 8i または 9i データベースとして設定し、ターゲットを Amazon EC2 でホストされている Oracle 12CR2 ステージングデータベースとして設定します。

SharePlex、Oracle管理
タスク説明必要なスキル

Oracle DB インスタンスを作成します。

Amazon RDS for Oracle データベースを作成し、Oracle 12CR2 をデータベースに接続します。

詳細については、Amazon RDS ドキュメントの「Oracle DB インスタンスを作成して Oracle DB インスタンスのデータベースに接続」を参照してください。

DBA

Amazon RDS for Oracle をステージングデータベースから復元します。

  1. FLASHBACK_SCN を使用して、 Oracle ステージングデータベースサーバーから EXPDP バックアップを作成します。

  2. Amazon RDS for Oracle をステージングデータベースから復元します。

詳細については、Oracle ドキュメントの「54 DBMS_DATAPUMP」を参照してください。

DBA
タスク説明必要なスキル

データベースのエンドポイントを作成します。

Oracle ステージングデータベース用のソースエンドポイントと、 Amazon RDS for Oracle データベースのターゲットエンドポイントを作成します。

詳細については、 AWS ナレッジセンターの「AWS DMS を使用してソースエンドポイントまたはターゲットエンドポイントを作成する方法」 を参照してください。

DBA

レプリケーションインスタンスを作成します。

AWS DMS を使用して、Oracle ステージングデータベースの Amazon RDS for Oracle データベースへのレプリケーションインスタンスを起動します。

詳細については、AWS ナレッジセンターの「AWS DMS レプリケーションインスタンスを作成する方法」 を参照してください。

DBA

レプリケーションタスクを作成します。

EXPDP から FLASHBACK_SCN を使用して、変更データキャプチャ (CDC) の AWS DMS レプリケーションタスクを作成します (全ロードは EXPDP ですでに行われているため)。

詳細については、AWS DMSのドキュメントの「タスクを作成 」を参照してください。

DBA
タスク説明必要なスキル

アプリケーションワークロードを停止します。

予定されているカットオーバー期間中、アプリケーションサーバーとそのアプリケーションを停止します。

アプリ開発者、DBA

オンプレミスの Oracle ステージングデータベースと EC2 インスタンスの同期を検証します。

オンプレミスのソースデータベースでいくつかのログスイッチを実行して、SharePlex レプリケーションインスタンスから Amazon EC2 の Oracle ステージングデータベースへのレプリケーションタスクのすべてのメッセージが掲示されていることを確認します。

詳細については、Oracle ドキュメントの「6.4.2 ログファイルの切り替え」 を参照してください。

DBA

Oracle ステージングデータベースと Amazon RDS for Oracle データベースとの同期を検証します。

すべての AWS DMS タスクに遅延やエラーがないことを確認し、タスクの検証状態を確認します。

DBA

SharePlex と Amazon RDS のレプリケーションを停止します。

SharePlex と AWS DMS の両方のレプリケーションにエラーが表示されない場合、両方のレプリケーションを停止します。

DBA

アプリケーションを Amazon RDS に再マップします。

Amazon RDS for Oracle エンドポイントの詳細をアプリケーションサーバーとそのアプリケーションと共有し、それからアプリケーションを起動して業務を再開します。

アプリ開発者、DBA
タスク説明必要なスキル

AWS で Oracle ステージングデータベース環境をテストします。

  1. SharePlex レプリケーションをテストし、Oracle ステージングデータベースに同期ギャップやレプリケーションエラーがないことを確認します。

  2. オンプレミス環境で定義されたベンチマークを通じて、アプリケーションが期待どおりに動作することを確認します。

SharePlex、Oracle管理

Amazon RDS 環境をテストします。

  1. レプリケーション後に、Amazon RDS に伝達されるすべてのデータにエラーがないことを確認します。

  2. 別のアプリケーションを Amazon RDS DB インスタンスにポイントし、パフォーマンステストを実行して予想される動作を検証します。

詳細については、Amazon RDS ドキュメントの「Amazon RDS for Oracle」 を参照してください。

Oracle 管理

関連リソース