Cookie の設定を選択する

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

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

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

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

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

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

作成者: Pinesh Singal (AWS)

概要

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

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

このパターンでは、「Oracle SQL Developer」 を使用して、ソース Oracle データベース内の二つのスキーマの差分を見つけます。次に、AWS Schema Conversion Tool (AWS SCT) を使用して、 Amazon RDS for Oracle データベーススキーマオブジェクトを Amazon RDS for PostgreSQL データベーススキーマオブジェクトに変換します。次に、Windows コマンドプロンプトで Python スクリプトを実行して、ソースデータベースオブジェクトへの段階的な変更のために AWS SCT オブジェクトを作成します。

注記

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

前提条件と制限

前提条件

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

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

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

  • AWS SCT、Oracle および PostgreSQL データベースエンジンの JDBC ドライバーにインストールされ、設定されたAWS SAWS SCT。これの詳細については、AWS SCT ドキュメントの「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 より生成される 「SQL スクリプト」では、変換エラーが発生する可能性があるため、手動で移行を行う必要があります。

  • AWS SCT のソースとターゲットのテスト接続が失敗した場合、着信トラフィックを受け入れるために、JDBC ドライバーバージョンと Virtual Private Cloud (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 インスタンス

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

次の図表は、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 でデータベース差分を実行します。

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

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

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

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

DBA

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

スクリプトを生成を選択して、SQL ファイルで差分を生成します。 

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

DBA

ソースデータベースのスキーマの差分に対応する SQL スクリプトファイルを作成します。

タスク説明必要なスキル

Oracle SQL Developer でデータベース差分を実行します。

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

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

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

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

DBA

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

スクリプトを生成を選択して、SQL ファイルで差分を生成します。 

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

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

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

  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. 要件に応じて AWS SCT 設定パラメータを変更し、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

Python スクリプトを使用して、AWS SCT にターゲット DB オブジェクトを作成します。

タスク説明必要なスキル

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

  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. 要件に応じて AWS SCT 設定パラメータを変更し、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

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