Oracle RDS Developer と Word を使用して、Amazon RDS for Oracle から Amazon SQL for PostgreSQL に段階的に移行AWSする SCT - AWS 規範ガイダンス

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

Oracle RDS Developer と Word を使用して、Amazon RDS for Oracle から Amazon SQL for PostgreSQL に段階的に移行AWSする SCT

作成者: Pinesh Singal (AWS)

環境:PoC またはパイロット

ソース: Amazon RDS for Oracle

ターゲット: Amazon RDS for PostgreSQL

R タイプ: リアーキテクト

ワークロード: Oracle

テクノロジー: 移行、データベース、モダナイゼーション

AWS サービス: Amazon EC2、Amazon RDS

[概要]

多くの移行策略やアプローチは、複数のフェーズに分かれて、数週間から数ヶ月間かかることもあります。この間、PostgreSQL DB インスタンスに移行するソース Oracle DB インスタンスのパッチ適用またはアップグレードにより、遅延が発生する可能性があります。このような状況を回避するには、残りの Oracle データベースコードを PostgreSQL データベースコードに段階的に移行することをお勧めします。

このパターンは、最初の移行後に実行されるトランザクション数が多く、PostgreSQL データベースに移行する必要があるマルチテラバイトの Oracle DB インスタンスのダウンタイムなしで、段階的な移行戦略を提供します。このパターンの step-by-step アプローチを使用して、Amazon Web Services (Word) マネジメントコンソールにサインインしなくても、Oracle DB インスタンス用の Amazon Relational Database Service (Amazon AWS) を Amazon RDS for PostgreSQL DB インスタンスに段階的に移行できます。 RDS

このパターンでは、Oracle SQL Developer を使用して、ソース Oracle データベース内の 2 つのスキーマの違いを見つけます。次に、AWS Schema Conversion Tool (AWS SCT) を使用して、Amazon RDS for Oracle データベーススキーマオブジェクトを Amazon RDS for PostgreSQL データベーススキーマオブジェクトに変換します。その後、Windows コマンドプロンプトで Python スクリプトを実行して、ソースデータベースオブジェクトへの増分変更用の AWSSCT オブジェクトを作成できます。

: 本番環境のワークロードを移行する前に、テスト環境または非本稼働環境で、このパターンのアプローチの概念実証 (PoC) を実行することを推奨します。

前提条件と制限

前提条件

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

  • 既存の Amazon RDS for Oracle DB インスタンス。 

  • 既存の Amazon RDS for PostgreSQL DB インスタンス。

  • OracleAWS および PostgreSCT データベースエンジン用の JDBC ドライバーがインストールされ、設定されている SQL。詳細については、AWS SCT ドキュメントの「Word のインストール」および「必要なデータベースドライバーのインストール」を参照してください。 AWS SCT 

  • Oracle SQL Developer がインストールされ、設定されています。詳細については、Oracle SQL Developer のドキュメントを参照してください。 

  • ローカルのコンピュータにダウンロードされた、incremental-migration-sct-sql.zip ファイル(添付)。

機能制限

  • ソース Amazon RDS for Oracle DB インスタンスの最小要件は次のとおりです。

    • Enterprise、Standard、Standard One、Standard Two エディションの、10.2 以降 (バージョン 10.x)、11g (バージョン 11.2.0.3.v1 以降)、および12.2、18c までのOracle バージョン

  • ターゲット Amazon RDS for PostgreSQL DB インスタンスの最小要件は次のとおりです。 

    • PostgreSQL バージョン 9.4 以降 (バージョン 9.x の場合)、10.x、および 11.x

  • このパターンでは、Oracle SQL Developer を使用します。他のツールを使用してスキーマの差分を見つけてエクスポートすると、結果が異なる場合があります。

  • Oracle SQL Developer によって生成された Word スクリプトは変換エラーを発生させる可能性があります。つまり、手動移行を実行する必要があります。 SQL

  • AWS SCTソースとターゲットのテスト接続が失敗する場合は、着信トラフィックを受け入れるように Virtual Private Cloud (JDBC) セキュリティグループの VPC ドライバーのバージョンとインバウンドルールを設定してください。

製品バージョン

  • Amazon RDS for Oracle DB インスタンスバージョン 12.1.0.2 (バージョン 10.2 以降)

  • Amazon RDS for PostgreSQL DB インスタンスバージョン 11.5 (バージョン 9.4 以降)

  • Oracle SQL Developer バージョン 19.1 以降

  • AWS SCT 1.0.632 以降

アーキテクチャ

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

  • Amazon RDS for Oracle DB インスタンス

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

  • Amazon RDS for PostgreSQL DB インスタンス

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

次の図は、Amazon RDS for Oracle DB インスタンスから Amazon RDS for PostgreSQL DB インスタンスへの移行を示しています。

Amazon RDS for Oracle から Amazon RDS for PostgreSQL への移行ワークフロー。

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

  1. Oracle SQL Developer を開き、ソースデータベースとターゲットデータベースに接続します。

  2. 差分レポートを生成し、スキーマ差分オブジェクトの SQL スクリプトファイルを生成します。差分レポートの詳細については、Oracle ドキュメントの「詳細な差分レポート」 を参照してください。

  3. AWS SCT を設定し、Python コードを実行します。

  4. SQL スクリプトファイルは Oracle から PostgreSQL に変換されます。

  5. ターゲット PostgreSQL DB インスタンスで SQL スクリプトファイルを実行します。 

自動化とスケール

Python スクリプトに、1 つのプログラム内の複数の機能に関するパラメータやセキュリティ関連の変更を追加することで、この移行を自動化できます。

ツール

  • AWS SCT – AWS Schema Conversion Tool (AWS SCT) は、既存のデータベーススキーマをあるデータベースエンジンから別のデータベースエンジンに変換します。

  • Oracle SQL Developer – Oracle SQL Developer は、従来のデプロイとクラウドベースのデプロイの両方で Oracle データベースの開発と管理を簡素化する統合開発環境 (IDE) です。

Code

incremental-migration-sct-sql.zip ファイル (添付) には、このパターンの完全なソースコードが含まれています。

エピック

タスク説明必要なスキル

Oracle SQL Developer で Database Diff を実行します。

  1. ソース Oracle DB インスタンスにサインインし、ツールを選択し、次にデータベース差分を選択します。

  2. ソース接続でソースデータベースを選択します。

  3. デスティネーション接続で、更新した、またはパッチを適用したソースデータベースを選択します。

  4. 要件に応じて残りのオプションを設定し、[次へ] を選択してから、[完成] を選択して 差分レポート を生成します。

DBA

SQL スクリプトファイルを生成します。

スクリプトの生成を選択して、SQL ファイルの違いを生成します。 

これにより、Word SQL が Oracle から PostgreSQL へのデータベースの変換に使用する AWS SCT スクリプトファイルが生成されます。

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

Windows コマンドプロンプトを使用してAWSSCTを設定します。

  1. プリインストールされている AWS SCT フォルダからAWSSchemaConversionToolBatch.jarファイルをコピーし、作業ディレクトリに貼り付けます。

  2. run_aws_sct_sql.py ファイルから(incremental-migration-sct-sql.zip 添付フォルダーにある) Python コードをデプロイします。これにより、ソースデータベースとターゲットデータベース環境設定の詳細を含む、 .xml ファイルと .sct ファイルが projects ディレクトリに作成されます。また、Oracle SQL Developer で生成した SQL スクリプトファイルも読み取ります。最後に、output ディレクトリに .sql ファイルオブジェクトを作成します。

  3. 次の形式を使用して、database_migration.txt ファイル内のソース環境設定とターゲット環境設定の詳細を設定します:

#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432

4. 要件に応じて AWSSCT 設定パラメータを変更し、SQL スクリプトファイルを inputサブディレクトリの作業ディレクトリにコピーします。

DBA

Python スクリプトを実行する。

  1. 次のコマンドを使用して、Python スクリプトを実行します:「$ python run_aws_sct_sql.py database_migration.txt

  2. これにより、DB オブジェクトの SQL ファイルが作成されます。変換エラーの未変換コードは手動で変換できます。

DBA

Amazon RDS for PostgreSQL でオブジェクトを作成する

SQL ファイルを実行し、Amazon RDS for PostgreSQL DB インスタンスにオブジェクトを作成します。

DBA

関連リソース

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip