翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
ソースアーキテクチャとターゲットアーキテクチャ

ツール
AWS DMS — 「AWS Database Migration Service (AWS DMS)」 は、データベースを迅速かつ安全に移行するのに役立ちます。移行中でもソースデータベースが完全に維持され、このデータベースを利用するアプリケーションのダウンタイムは最小限に抑えられます。AWS DMS により、広く普及しているほとんどの商用データベースとオープンソースデータベース間で、データを移行することができます。
AWS SCT — AWS Schema Conversion Tool (AWS SCT) は、ソースデータベーススキーマと大部分のカスタムコード (ビュー、ストアドプロシージャ、関数など) をターゲットデータベースと互換性のある形式に自動的に変換し、異種データベースを簡単に移行できるようにします。自動的に変換できないオブジェクトにはわかりやすいマークが付いていて、手動で変換して移行を完了できます。AWS SCT では、アプリケーションのソースコードをスキャンして、埋め込み SQL ステートメントを探し、データベーススキーマ変換プロジェクトの一部として変換することもできます。このプロセスでは、AWS SCT は Oracle と SQL Server のレガシー関数を AWS の同等の機能に変換することでクラウドネイティブなコードの最適化を行います。これにより、データベースを移行しながらアプリケーションを最新化できます。スキーマの変換が完了すると、AWS SCT は組み込みのデータ移行エージェントを使用して、さまざまなデータウェアハウスから Amazon Redshift へのデータ移行を支援します。
Quest SharePlex — Quest SharePlex
は 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 |
タスク | 説明 | 必要なスキル |
---|---|---|
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 |
タスク | 説明 | 必要なスキル |
---|---|---|
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 |