翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SharePlex と を使用して Oracle 8i または 9i から Amazon RDS for PostgreSQL に移行する AWS DMS
作成者: Kumar Babu P G (AWS)
環境:PoC またはパイロット | ソース:データベース:リレーショナル | ターゲット: Amazon RDS for Postgre SQL/Amazon Aurora PostgreSQL |
R タイプ: リアーキテクト | ワークロード: Oracle | テクノロジー: 移行、データベース |
AWS サービス: Amazon RDS、Amazon Aurora |
[概要]
このパターンでは、オンプレミスの Oracle 8i または 9i データベースを Amazon Relational Database Service (Amazon RDS) for PostgreSQL または Amazon Aurora Postgre に移行する方法について説明しますSQL。AWS Database Migration Service (AWS DMS) は Oracle 8i または 9i をソースとしてサポートしていないため、Quest はオンプレミスの 8i または 9i データベースから AWS と互換性のある中間 Oracle データベース (Oracle 10g または 11g) にデータを SharePlex レプリケートしますDMS。
中間 Oracle インスタンスから、スキーマ変換ツール (AWS SCT) と AWS AWSを使用して、AWSスキーマとデータが の PostgreSQL データベースに移行されますDMS。 Schema Conversion Tool この方法は、レプリケーションラグを最小限に抑えながら、ソース Oracle データベースからターゲット PostgreSQL DB インスタンスへのデータの継続的なストリーミングを実現するのに役立ちます。この実装では、ダウンタイムは、ターゲット PostgreSQL データベース上のすべての外部キー、トリガー、シーケンスを作成または検証するのにかかる時間に制限されます。
移行では、Oracle 10g または 11g がインストールされている Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用して、ソース Oracle データベースからの変更をホストします。AWS DMS は、この中間 Oracle インスタンスをソースとして使用して、データを Amazon RDS for PostgreSQL または Aurora Postgre にストリーミングしますSQL。オンプレミスの Oracle データベースから中間 Oracle インスタンスへのデータ複製を一時停止して再開できます。また、中間 Oracle インスタンスからターゲット PostgreSQL データベースに一時停止および再開できるため、データ検証ツールまたはカスタムデータ検証ツールを使用してAWSDMSデータを検証できます。
前提条件と制限
前提条件
アクティブなAWSアカウント
オンプレミスデータセンターにあるソース Oracle 8i または 9i データベース
AWS Direct Connect は、オンプレミスのデータセンターと の間で設定されます。 AWS
ローカルマシンまたは がインストールされているEC2インスタンスにインストールされたAWSSCTコネクタ用の Java Database Connectivity (JDBC) AWS SCT ドライバー
Quest SharePlex データレプリケーションに精通している
制約事項
データベースのサイズ制限は 64 TB です
オンプレミスの Oracle データベースはエンタープライズエディションである必要があります
製品バージョン
ソースデータベース用の Oracle 8i または 9i
中間データベースの Oracle 10g または 11g
PostgreSQL 9.6 以降
アーキテクチャ
ソーステクノロジースタック
Oracle 8i または 9i データベース
クエスト SharePlex
ターゲットテクノロジースタック
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ステートメントを検出し、データベーススキーマ変換プロジェクトの一部として変換することもできます。このプロセス中、 はレガシー Oracle および SQL Server 関数をAWS同等の関数に変換してクラウドネイティブコードの最適化AWSSCTを実行し、データベースの移行中にアプリケーションをモダナイズするのに役立ちます。スキーマ変換が完了すると、 AWSSCTは組み込みのデータ移行エージェントを使用して、さまざまなデータウェアハウスから Amazon Redshift にデータを移行するのに役立ちます。
Quest SharePlex – Quest SharePlex
は、 Oracle-to-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 |
によって生成されたSQLスクリプトを変更しますAWSSCT。 | 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 |
バックアップを設定します。 | バックアップ保持期間、バックアップウィンドウ、開始時刻、期間、およびタグをスナップショットにコピーするかどうかを指定します。 | AWS SysAdmin, DBA |
モニタリングオプションを設定します。 | 拡張モニタリングとパフォーマンスインサイトの有効または無効にします。 | AWS SysAdmin, DBA |
メンテナンスオプションを設定します。 | マイナーバージョンの自動マイナーアップグレード、メンテナンスウィンドウ、および開始日、時刻、および期間を指定します。 | AWS SysAdmin, DBA |
から移行前スクリプトを実行しますAWSSCT。 | Amazon RDSインスタンスで、create_database.sql、create_sequence.sql、create_table.sql、create_view.sql、create_function.sql のスクリプトを実行します。 | AWS SysAdmin, DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
でレプリケーションインスタンスを作成しますAWSDMS。 | 名前、インスタンスクラス、 VPC (EC2インスタンスと同じ)、マルチ AZ、パブリックアクセシビリティのフィールドに入力します。詳細設定セクションで、割り当てられたストレージ、サブネットグループ、アベイラビリティーゾーン、VPCセキュリティグループ、および AWS Key Management Service (AWS KMS) ルートキーを指定します。 | AWS SysAdmin, DBA |
ソースデータベースのエンドポイントを作成します。 | エンドポイント名、タイプ、ソースエンジン (Oracle)、サーバー名 (Amazon EC2プライベートDNS名)、ポート、SSLモード、ユーザー名、パスワード、SID、、 VPC (レプリケーションインスタンスVPCを持つ を指定)、レプリケーションインスタンスを指定します。接続をテストするには、[テストを実行]を選択し、エンドポイントを作成します。また、次の詳細設定、 maxFileSize および numberDataTypeスケールを設定することもできます。 | AWS SysAdmin, DBA |
AWS DMS レプリケーションタスクを作成します。 | タスク名、レプリケーションインスタンス、ソースとターゲットのエンドポイント、レプリケーションインスタンスを指定します。移行タイプについては、[既存のデータを移行し、実行中の変更をリプリケートする] を選択します。「作成時にタスクを開始」チェックボックスをクリアします。 | AWS SysAdmin, DBA |
AWS DMS レプリケーションタスクの設定を行います。 | ターゲットテーブル作成モードには、 [何もしない] を選択します。全ロードが完了したらタスクを停止して、プライマリキーを作成します。制限モードまたはフルLOBモードを指定し、コントロールテーブルを有効にします。オプションで、 CommitRate 詳細設定を設定できます。 | DBA |
テーブルマッピングを設定します。 | テーブルマッピングセクションで、移行に含まれるすべてのスキーマのすべてのテーブルを対象とするインクルードルールを作成し、除外ルールを作成します。スキーマ、テーブル、列の名前を小文字に変換する 3 つの変換ルールを追加し、特定の移行に必要なその他のルールを追加します。 | DBA |
タスクの開始 | レプリケーションタスクを開始します。全ロードが実行されていることを確認します。プライマリ Oracle データベースALTERSYSTEMSWITCHLOGFILEで を実行して、タスクを開始します。 | DBA |
から移行中スクリプトを実行しますAWSSCT。 | Amazon RDS for Postgre でSQL、create_index.sql と create_constraint.sql のスクリプトを実行します。 | DBA |
タスクを再起動して、変更データキャプチャ () を続行しますCDC。 | Amazon RDS for PostgreSQL DB インスタンスで、 を実行してタスクを再起動しVACUUM、キャッシュされたCDC変更AWSDMSを適用します。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS DMS ログとメタデータテーブルを確認します。 | エラーを検証し、必要に応じて修正します。 | DBA |
Oracle の依存関係をすべて停止します。 | Oracle データベースのリスナーをシャットダウンし、 ALTER SYSTEM SWITCH を実行しますLOGFILE。アクティビティが表示されない場合は、AWSDMSタスクを停止します。 | DBA |
から移行後のスクリプトを実行しますAWSSCT。 | Amazon RDS for Postgre でSQL、create_foreign_key_constraint.sql と create_triggers.sql のスクリプトを実行します。 | DBA |
追加の Amazon RDS for PostgreSQL ステップを完了します。 | 必要に応じて Oracle に合わせてシーケンスを増分し、 VACUUMと を実行しANALYZE、コンプライアンスのためにスナップショットを作成します。 | DBA |
Amazon RDS for Postgre への接続を開きますSQL。 | Amazon RDS for Postgre からAWSDMSセキュリティグループを削除SQLし、本番稼働用セキュリティグループを追加し、アプリケーションを新しいデータベースにポイントします。 | DBA |
AWS DMS リソースをクリーンアップします。 | エンドポイント、レプリケーションタスク、レプリケーションインスタンス、インスタンスを削除しますEC2。 | SysAdmin, DBA |