Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

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

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

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

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

作成者: Kumar Babu P G (AWS)

概要

このパターンでは、オンプレミスの Oracle 8i または 9i データベースを、Amazon Relational Database Service (Amazon RDS) for PostgreSQL または Amazon Aurora に移行する方法を説明しています。AWS Database Migration Service (AWS DMS) は Oracle 8i または 9i をソースとしてサポートしていないため、Quest SharePlex はオンプレミスの 8i または 9i データベースから、AWS DMS と互換性のある中間の Oracle データベース (Oracle 10g または 11g) にデータを複製します。

中間の Oracle インスタンスから、スキーマとデータは AWS Schema Conversion Tool (AWS SCT) と AWS DMS を使用して AWS 上の PostgreSQL データベースに移行されます。この方法では、レプリケーションの遅延を最小限に抑えながら、ソース Oracle データベースからターゲット PostgreSQL DB インスタンスにデータを継続的にストリーミングできます。この実装では、ダウンタイムは、ターゲット PostgreSQL データベース上のすべての外部キー、トリガー、およびシーケンスを作成または検証するのにかかる時間に制限されます。

移行では、Oracle 10g または 11g がインストールされた Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用して、ソース Oracle データベースからの変更内容をホストします。AWS DMS は、この中間 Oracle インスタンスをソースとして使用し、Amazon RDS for PostgreSQL または Aurora PostgreSQL にデータをストリーミングします。オンプレミスの Oracle データベースから中間 Oracle インスタンスへのデータ複製を一時停止して再開できます。また、中間 Oracle インスタンスからターゲット PostgreSQL データベースに一時停止して再開できるため、AWS DMS データ検証ツールまたはカスタムデータ検証ツールのいずれかを使用してデータを検証できます。

前提条件と制限

前提条件

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

  • オンプレミスデータセンターにあるソース Oracle 8i または 9i データベース 

  • オンプレミスデータセンターと AWS の間に AWS Direct Connect を設定

  • AWS SCT がインストールされている、ローカルマシンまたは EC2 インスタンスのどちらかにインストールされている AWS SCT コネクタ用の Java データベース接続 (JDBC) ドライバー

  • Oracle データベースを AWS DMS ソースとして使用」 に精通している

  • Oracle データベースを AWS DMS ソースとしての使用」に精通している

  • Quest SharePlex データレプリケーションに精通している

制約事項

  • データベースのサイズ制限は 64 TB です

  • オンプレミスの Oracle データベースはエンタープライズエディションである必要があります

製品バージョン

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

  • 中間データベースの Oracle 10g または 11g

  • PostgreSQL 9.6 以降

アーキテクチャ

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

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

  • クエスト シェアプレックス 

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

  • Amazon RDS for PostgreSQL または Aurora PostgreSQL

ソースアーキテクチャとターゲットアーキテクチャ

Database migration architecture from on-premises Oracle to AWS RDS or Aurora using AWS のサービス.

ツール

  • AWS DMS — 「AWS Database Migration Service (AWS DMS)」 は、データベースを迅速かつ安全に移行するのに役立ちます。移行中でもソースデータベースが完全に維持され、このデータベースを利用するアプリケーションのダウンタイムは最小限に抑えられます。AWS DMS により、広く普及しているほとんどの商用データベースとオープンソースデータベース間で、データを移行することができます。 

  • AWS SCTAWS Schema Conversion Tool (AWS SCT) は、ソースデータベーススキーマと大部分のカスタムコード (ビュー、ストアドプロシージャ、関数など) をターゲットデータベースと互換性のある形式に自動的に変換し、異種データベースを簡単に移行できるようにします。自動的に変換できないオブジェクトにはわかりやすいマークが付いていて、手動で変換して移行を完了できます。AWS SCT では、アプリケーションのソースコードをスキャンして、埋め込み SQL ステートメントを探し、データベーススキーマ変換プロジェクトの一部として変換することもできます。このプロセスでは、AWS SCT は Oracle と SQL Server のレガシー関数を AWS の同等の機能に変換することでクラウドネイティブなコードの最適化を行います。これにより、データベースを移行しながらアプリケーションを最新化できます。スキーマの変換が完了すると、AWS SCT は組み込みのデータ移行エージェントを使用して、さまざまなデータウェアハウスから Amazon Redshift へのデータ移行を支援します。

  • Quest SharePlexQuest SharePlex は Oracle 間のデータレプリケーションツールです。ダウンタイムを最小限に抑え、データ損失なしでデータを移動できます。

エピック

タスク説明必要なスキル
Amazon EC2 のネットワークをセットアップします。

仮想プライベートクラウド (VPC)、サブネット、インターネットゲートウェイ、ルートテーブル、およびセキュリティグループを作成します。

AWS SysAdmin
新しい EC2 インスタンスを作成します。

EC2インスタンスの Amazon マシンイメージ (AMI)を選択します。インスタンスサイズを選択し、インスタンスの詳細 (インスタンス数 (1)、前のステップの VPC とサブネット、パブリック IP の自動割り当て、その他のオプション)を設定します。ストレージを追加し、セキュリティグループを設定し、インスタンスを起動します。プロンプトが表示されたら、次のステップのためにキーペアを作成して保存します。

AWS SysAdmin
EC2 インスタンスに Oracle をインストールします。

ライセンスと必要な Oracle バイナリを取得し、EC2 インスタンスに Oracle 10g または 11g をインストールします。

DBA

EC2 インスタンスを作成して Oracle をインストール

タスク説明必要なスキル
Amazon EC2 のネットワークをセットアップします。

仮想プライベートクラウド (VPC)、サブネット、インターネットゲートウェイ、ルートテーブル、およびセキュリティグループを作成します。

AWS SysAdmin
新しい EC2 インスタンスを作成します。

EC2インスタンスの Amazon マシンイメージ (AMI)を選択します。インスタンスサイズを選択し、インスタンスの詳細 (インスタンス数 (1)、前のステップの VPC とサブネット、パブリック IP の自動割り当て、その他のオプション)を設定します。ストレージを追加し、セキュリティグループを設定し、インスタンスを起動します。プロンプトが表示されたら、次のステップのためにキーペアを作成して保存します。

AWS SysAdmin
EC2 インスタンスに Oracle をインストールします。

ライセンスと必要な Oracle バイナリを取得し、EC2 インスタンスに Oracle 10g または 11g をインストールします。

DBA
タスク説明必要なスキル
SharePlex をセットアップします。

Amazon EC2 インスタンスを作成して、Oracle 8i または 9i と互換性のある SharePlex バイナリをインストールします。

AWS SysAdmin、DBA
データレプリケーションを設定します。

SharePlex のベストプラクティスに従って、オンプレミスの Oracle 8i/9i データベースから Oracle 10g/11g インスタンスへのデータレプリケーションを設定します。

DBA

EC2 インスタンスに SharePlex をセットアップし、データレプリケーションを設定します

タスク説明必要なスキル
SharePlex をセットアップします。

Amazon EC2 インスタンスを作成して、Oracle 8i または 9i と互換性のある SharePlex バイナリをインストールします。

AWS SysAdmin、DBA
データレプリケーションを設定します。

SharePlex のベストプラクティスに従って、オンプレミスの Oracle 8i/9i データベースから Oracle 10g/11g インスタンスへのデータレプリケーションを設定します。

DBA
タスク説明必要なスキル
AWS SCT をセットアップします。

新しいレポートを作成し、ソースとして Oracle に、ターゲットとして PostgreSQL に接続します。プロジェクト設定で SQL スクリプトタブを開き、ターゲット SQL スクリプトを「複数ファイル」に変更します。

DBA
Oracle データベーススキーマを変換します。

アクションタブで、レポートを生成、スキーマを変換、SQL として保存の順に選択します。

DBA
AWS SCT によって生成された SQL スクリプトを変更します。DBA

Oracle データベーススキーマを PostgreSQL に変換

タスク説明必要なスキル
AWS SCT をセットアップします。

新しいレポートを作成し、ソースとして Oracle に、ターゲットとして PostgreSQL に接続します。プロジェクト設定で SQL スクリプトタブを開き、ターゲット SQL スクリプトを「複数ファイル」に変更します。

DBA
Oracle データベーススキーマを変換します。

アクションタブで、レポートを生成、スキーマを変換、SQL として保存の順に選択します。

DBA
AWS SCT によって生成された SQL スクリプトを変更します。DBA
タスク説明必要なスキル
Amazon RDS DB インスタンスを作成します。

Amazon RDS コンソールで、新しい PostgreSQL DB インスタンスを作成します。

AWS SysAdmin、DBA
DB インスタンスを設定します。

DB エンジンのバージョン、DB インスタンスクラス、マルチ AZ 配置、ストレージタイプ、ストレージの割り当てを指定します。DB インスタンス識別子、マスターユーザー名、マスターパスワードを入力します。

AWS SysAdmin、DBA
ネットワークとセキュリティを設定します。

VPC、サブネットグループ、パブリックアクセシビリティ、アベイラビリティーゾーンプリファレンス、セキュリティグループを指定します。

AWS SysAdmin、DBA
データベースオプションを設定します。

データベース名、ポート、パラメータグループ、暗号化、マスターキーを指定します。

AWS SysAdmin、DBA
バックアップを設定します。

バックアップ保持期間、バックアップウィンドウ、開始時刻、期間、およびタグをスナップショットにコピーするかどうかを指定します。 

SysAdmin、DBA
モニタリングオプションを設定します。

拡張モニタリングとパフォーマンスインサイトの有効または無効にします。

AWS SysAdmin、DBA
メンテナンスオプションを設定します。

マイナーバージョンの自動マイナーアップグレード、メンテナンスウィンドウ、および開始日、時刻、および期間を指定します。

AWS SysAdmin、DBA
AWS SCT から移行前スクリプトを実行します。

Amazon RDS インスタンスで、create_database.sql、create_sequence.sql、create_table.sql、create_view.sql、create_function.sql のスクリプトを実行します。

AWS SysAdmin、DBA

Amazon RDS DB インスタンスを作成して設定する

タスク説明必要なスキル
Amazon RDS DB インスタンスを作成します。

Amazon RDS コンソールで、新しい PostgreSQL DB インスタンスを作成します。

AWS SysAdmin、DBA
DB インスタンスを設定します。

DB エンジンのバージョン、DB インスタンスクラス、マルチ AZ 配置、ストレージタイプ、ストレージの割り当てを指定します。DB インスタンス識別子、マスターユーザー名、マスターパスワードを入力します。

AWS SysAdmin、DBA
ネットワークとセキュリティを設定します。

VPC、サブネットグループ、パブリックアクセシビリティ、アベイラビリティーゾーンプリファレンス、セキュリティグループを指定します。

AWS SysAdmin、DBA
データベースオプションを設定します。

データベース名、ポート、パラメータグループ、暗号化、マスターキーを指定します。

AWS SysAdmin、DBA
バックアップを設定します。

バックアップ保持期間、バックアップウィンドウ、開始時刻、期間、およびタグをスナップショットにコピーするかどうかを指定します。 

SysAdmin、DBA
モニタリングオプションを設定します。

拡張モニタリングとパフォーマンスインサイトの有効または無効にします。

AWS SysAdmin、DBA
メンテナンスオプションを設定します。

マイナーバージョンの自動マイナーアップグレード、メンテナンスウィンドウ、および開始日、時刻、および期間を指定します。

AWS SysAdmin、DBA
AWS SCT から移行前スクリプトを実行します。

Amazon RDS インスタンスで、create_database.sql、create_sequence.sql、create_table.sql、create_view.sql、create_function.sql のスクリプトを実行します。

AWS SysAdmin、DBA
タスク説明必要なスキル
AWS DMSでレプリケーションインスタンスを作成します。

名前、インスタンスクラス、VPC (EC2 インスタンスと同じ)、マルチ AZ、パブリックアクセシビリティのフィールドを入力します。詳細設定セクションで、割り当てられたストレージ、サブネットグループ、アベイラビリティーゾーン、VPC セキュリティグループ、および AWS Key Management Service (AWS KMS) ルートキーを指定します。

AWS SysAdmin、DBA
ソースデータベースのエンドポイントを作成します。

エンドポイント名、タイプ、ソースエンジン (Oracle)、サーバー名 (Amazon EC2 プライベート DNS 名)、ポート、SSL モード、ユーザー名、パスワード、SID、VPC (レプリケーションインスタンスのある VPC を指定)、およびレプリケーションインスタンスを指定します。接続をテストするには、[テストを実行] を選択し、エンドポイントを作成します。maxFileSize と numberDataTypeScale の詳細設定も行えます。

SysAdmin、DBA
AWS DMS レプリケーションタスクを作成します。

タスク名、レプリケーションインスタンス、ソースとターゲットのエンドポイント、レプリケーションインスタンスを指定します。移行タイプについては、[既存のデータを移行し、実行中の変更をリプリケートする] を選択します。「作成時にタスクを開始」チェックボックスをクリアします。

AWS SysAdmin、DBA
AWS DMS レプリケーションタスク設定を構成します。

ターゲットテーブル作成モードには、 [何もしない] を選択します。全ロードが完了したらタスクを停止して、プライマリキーを作成します。制限付き LOB モードまたはフル LOB モードを指定し、制御テーブルを有効にします。オプションで CommitRate の詳細設定を行えます。

DBA
テーブルマッピングを設定します。

テーブルマッピングセクションで、移行に含まれるすべてのスキーマのすべてのテーブルを対象とするインクルードルールを作成し、除外ルールを作成します。スキーマ、テーブル、列の名前を小文字に変換する 3 つの変換ルールを追加し、特定の移行に必要なその他のルールを追加します。

DBA
タスクの開始

レプリケーションタスクを開始します。全ロードが実行されていることを確認します。プライマリ Oracle データベースで ALTER SYSTEM SWITCH LOGFILE を実行してタスクを開始します。

DBA
AWS SCT から移行中のスクリプトを実行します。

Amazon RDS for PostgreSQL では、create_index.sql と create_constraint.sql というスクリプトを実行します。

DBA
タスクを再開して、変更データキャプチャ (CDC) を続行します。

Amazon RDS for PostgreSQL DB インスタンスで VACUUM を実行し、AWS DMS タスクを再起動して、キャッシュされた CDC の変更を適用します。

DBA

AWS DMS を使用してデータを移行

タスク説明必要なスキル
AWS DMSでレプリケーションインスタンスを作成します。

名前、インスタンスクラス、VPC (EC2 インスタンスと同じ)、マルチ AZ、パブリックアクセシビリティのフィールドを入力します。詳細設定セクションで、割り当てられたストレージ、サブネットグループ、アベイラビリティーゾーン、VPC セキュリティグループ、および AWS Key Management Service (AWS KMS) ルートキーを指定します。

AWS SysAdmin、DBA
ソースデータベースのエンドポイントを作成します。

エンドポイント名、タイプ、ソースエンジン (Oracle)、サーバー名 (Amazon EC2 プライベート DNS 名)、ポート、SSL モード、ユーザー名、パスワード、SID、VPC (レプリケーションインスタンスのある VPC を指定)、およびレプリケーションインスタンスを指定します。接続をテストするには、[テストを実行] を選択し、エンドポイントを作成します。maxFileSize と numberDataTypeScale の詳細設定も行えます。

SysAdmin、DBA
AWS DMS レプリケーションタスクを作成します。

タスク名、レプリケーションインスタンス、ソースとターゲットのエンドポイント、レプリケーションインスタンスを指定します。移行タイプについては、[既存のデータを移行し、実行中の変更をリプリケートする] を選択します。「作成時にタスクを開始」チェックボックスをクリアします。

AWS SysAdmin、DBA
AWS DMS レプリケーションタスク設定を構成します。

ターゲットテーブル作成モードには、 [何もしない] を選択します。全ロードが完了したらタスクを停止して、プライマリキーを作成します。制限付き LOB モードまたはフル LOB モードを指定し、制御テーブルを有効にします。オプションで CommitRate の詳細設定を行えます。

DBA
テーブルマッピングを設定します。

テーブルマッピングセクションで、移行に含まれるすべてのスキーマのすべてのテーブルを対象とするインクルードルールを作成し、除外ルールを作成します。スキーマ、テーブル、列の名前を小文字に変換する 3 つの変換ルールを追加し、特定の移行に必要なその他のルールを追加します。

DBA
タスクの開始

レプリケーションタスクを開始します。全ロードが実行されていることを確認します。プライマリ Oracle データベースで ALTER SYSTEM SWITCH LOGFILE を実行してタスクを開始します。

DBA
AWS SCT から移行中のスクリプトを実行します。

Amazon RDS for PostgreSQL では、create_index.sql と create_constraint.sql というスクリプトを実行します。

DBA
タスクを再開して、変更データキャプチャ (CDC) を続行します。

Amazon RDS for PostgreSQL DB インスタンスで VACUUM を実行し、AWS DMS タスクを再起動して、キャッシュされた CDC の変更を適用します。

DBA
タスク説明必要なスキル
AWS DMS のログとメタデータテーブルを確認します。

エラーを検証し、必要に応じて修正します。

DBA
Oracle の依存関係をすべて停止します。

Oracle データベースのリスナーをシャットダウンし、ALTER SYSTEM SWITCH ログファイルを実行します。アクティビティが表示されない場合は、AWS DMS タスクを停止します。

DBA
AWS SCT から移行後のスクリプトを実行します。

Amazon RDS for PostgreSQL では、以下のスクリプトを実行します: create_foreign_key_constraint.sql と create_triggers.sql 。

DBA
Amazon RDS for PostgreSQL のその他のステップをすべて完了します。

必要に応じて Oracle と一致するようにシーケンスをインクリメントし、VACUUM と ANALYZE を実行し、コンプライアンスのためのスナップショットを撮ります。

DBA
[Amazon RDS for PostgreSQL に接続] を選択します。

Amazon RDS for PostgreSQL から AWS DMS セキュリティグループを削除し、実稼働セキュリティグループを追加して、アプリケーションを新しいデータベースに接続します。

DBA
AWS リソースをクリーンアップします。

エンドポイント、レプリケーションタスク、レプリケーションインスタンス、EC2 インスタンスを削除します。

SysAdmin、DBA

PostgreSQL データベースへのカットオーバー

タスク説明必要なスキル
AWS DMS のログとメタデータテーブルを確認します。

エラーを検証し、必要に応じて修正します。

DBA
Oracle の依存関係をすべて停止します。

Oracle データベースのリスナーをシャットダウンし、ALTER SYSTEM SWITCH ログファイルを実行します。アクティビティが表示されない場合は、AWS DMS タスクを停止します。

DBA
AWS SCT から移行後のスクリプトを実行します。

Amazon RDS for PostgreSQL では、以下のスクリプトを実行します: create_foreign_key_constraint.sql と create_triggers.sql 。

DBA
Amazon RDS for PostgreSQL のその他のステップをすべて完了します。

必要に応じて Oracle と一致するようにシーケンスをインクリメントし、VACUUM と ANALYZE を実行し、コンプライアンスのためのスナップショットを撮ります。

DBA
[Amazon RDS for PostgreSQL に接続] を選択します。

Amazon RDS for PostgreSQL から AWS DMS セキュリティグループを削除し、実稼働セキュリティグループを追加して、アプリケーションを新しいデータベースに接続します。

DBA
AWS リソースをクリーンアップします。

エンドポイント、レプリケーションタスク、レプリケーションインスタンス、EC2 インスタンスを削除します。

SysAdmin、DBA

関連リソース

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.