を使用した Oracle Database から Amazon RDS for Oracle への移行 AWS Schema Conversion Tool - AWS Schema Conversion Tool

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

を使用した Oracle Database から Amazon RDS for Oracle への移行 AWS Schema Conversion Tool

Oracle スキーマとコードを Amazon RDS for Oracle に移行するときに考慮すべき点は次のとおりです。

  • AWS SCT は、オブジェクトツリーにディレクトリオブジェクトを追加できます。ディレクトリオブジェクトは、それぞれがサーバーのファイルシステムの物理ディレクトリを表す論理構造です。ディレクトリオブジェクトは、DBMS_LOB、_FILE、UTL_DBMSFILE_TRANSFER、 DATAPUMPユーティリティなどのパッケージで使用できます。

  • AWS SCT は、Oracle テーブルスペースの Amazon RDS for Oracle DB インスタンスへの変換をサポートしています。Oracle は、論理的にはテーブルスペースに、物理的には対応するテーブルスペースに関連付けられたデータファイルに、データを保存します。Oracle では、テーブルスペースとデータファイル名を作成できます。Amazon RDSは、データファイル、ログファイル、および制御ファイルに対してのみ Oracle Managed Files (OMF) をサポートしています。 は、変換中に必要なデータファイル AWS SCT を作成します。

  • AWS SCT は、サーバーレベルのロールと権限を変換できます。Oracle データベースエンジンではロールベースのセキュリティを使用します。ロールとは、ユーザーに対して付与または取り消すことができる権限のコレクションです。という Amazon の事前定義されたロールはRDS、通常DBA、Oracle データベースエンジンに対するすべての管理者権限を許可します。Oracle エンジンを使用する Amazon RDS DB インスタンスの DBA ロールでは、次の権限は使用できません。

    • データベースの変更

    • システムの変更

    • ディレクトリの作成

    • 権限の付与

    • ロールの付与

    • 外部ジョブの作成

    高度なフィルタリングや列権限など、他のすべての権限を Amazon RDS for Oracle ユーザーロールに付与できます。

  • AWS SCT では、Oracle ジョブを Amazon RDS for Oracle で実行できるジョブに変換できます。この変換には、次のモノを含むいくつかの制限があります。

    • 実行ジョブはサポートされていません。

    • ANYDATA データ型を引数として使用するスケジュールジョブはサポートされていません。

  • Oracle Real Application Clusters (RAC) 1 つのノードは、Oracle Database 11g Release 2 で導入された Oracle Database Enterprise Edition のオプションです。Amazon RDS for Oracle はRACこの機能をサポートしていません。高可用性を実現するには、Amazon RDS マルチ AZ を使用します。

    マルチ AZ 配置では、Amazon は同期スタンバイレプリカを別のアベイラビリティーゾーンに自動的にプロビジョニングして維持RDSします。プライマリ DB インスタンスは、同期的にアベイラビリティーゾーン間でスタンバイレプリカにレプリケートされます。この機能により、データの冗長性が確保されて I/O のフリーズがなくなり、システムバックアップ時のレイテンシー急上昇が最小限に抑えられます。

  • Oracle Spatial は、Oracle データベース内の空間データの収集の保存、取得、更新、クエリを容易にするSQLスキーマと関数を提供します。Oracle Locator は、インターネットおよびワイヤレスのサービスベースのアプリケーションとパートナーベースのGISソリューションをサポートするために通常必要となる機能を提供します。Oracle Locator は Oracle Spatial の制限付きのサブネットです。

    Oracle Spatial と Oracle Locator の機能を使用するには、DB インスタンスのオプショングループに LOCATOR オプションSPATIALまたは オプション (相互に排他的) を追加します。

    Amazon RDS for Oracle DB インスタンスで Oracle Spatial と Oracle Locator を使用するには、いくつかの前提条件があります。

    • インスタンスで Oracle Enterprise Edition バージョン 12.1.0.2.v6 以降、または 11.2.0.4.v10 以降が実行されていること。

    • インスタンスは仮想プライベートクラウド () 内にある必要がありますVPC。

    • インスタンスの DB インスタンスクラスが Oracle 機能をサポート可能であること。例えば、Oracle Spatial は、db.m1.small、db.t1.micro、db.t2.micro、または db.t2.small の DB インスタンスクラスではサポートされません。詳細については、「DB インスタンスクラスの Oracle のサポート」を参照してください。

    • インスタンスで、マイナーバージョン自動アップグレードが有効化されていること。CVSS スコアが 9 以上のセキュリティ脆弱性がある場合、またはその他の発表されたセキュリティ脆弱性PSUがある場合、Amazon は DB インスタンスを最新の Oracle にRDS更新します。詳細については、次を参照してください。

      Oracle DB インスタンスの設定

    • DB インスタンスがバージョン 11.2.0.4.v10 以降の場合は、 XMLDBオプションをインストールする必要があります。詳細については、以下を参照してください。

      Oracle XML DB

    • Oracle の Oracle Spatial ライセンスが付与されていること。詳細については、Oracle ドキュメントの Oracle Spatial and Graph を参照してください。

  • Data Guard は、Oracle Database Enterprise Edition に含まれています。高可用性を実現するには、Amazon RDS マルチ AZ 機能を使用します。

    マルチ AZ 配置では、Amazon は同期スタンバイレプリカを別のアベイラビリティーゾーンに自動的にプロビジョニングして維持RDSします。プライマリ DB インスタンスは、同期的にアベイラビリティーゾーン間でスタンバイレプリカにレプリケートされます。この機能により、データの冗長性が確保されて I/O のフリーズがなくなり、システムバックアップ時のレイテンシー急上昇が最小限に抑えられます。

  • AWS SCT は、Amazon RDS for Oracle への移行時に Oracle DBMS_SCHEDULER オブジェクトの変換をサポートします。 AWS SCT 評価レポートは、スケジュールオブジェクトを変換できるかどうかを示します。Amazon でスケジュールオブジェクトを使用する方法の詳細についてはRDS、Amazon RDSドキュメント を参照してください。

  • Oracle から Amazon RDS for Oracle への変換では、DB リンクがサポートされています。データベースリンクは、別のデータベースのオブジェクトにアクセスできるようにする、1 つのデータベース内のスキーマオブジェクトです。もう 1 つのデータベースは Oracle データベースである必要はありません。ただし、Oracle 以外のデータベースにアクセスするには、Oracle Heterogeneous Services を使用する必要があります。

    データベースリンクを作成したら、 SQLステートメントのリンクを使用して、他のデータベースのテーブル、ビュー、PL/SQL オブジェクトを参照できます。データベースリンクを使用するには、テーブル、ビュー、または PL/SQL オブジェクト名@dblinkに を追加します。SELECT ステートメントを使用して、他のデータベースのテーブルまたはビューをクエリできます。Oracle データベースリンクの使用の詳細については、Oracle のドキュメントを参照してください。

    Amazon でのデータベースリンクの使用の詳細についてはRDS、Amazon RDSドキュメント を参照してください。

  • AWS SCT 評価レポートには、変換のサーバーメトリクスが表示されます。Oracle インスタンスに関するこれらのメトリクスには、次のようなものがあります。

    • ターゲット DB インスタンスのコンピューティング能力とメモリ容量。

    • Amazon がサポートしていない Real Application Clusters など、サポートRDSされていない Oracle の機能。

    • ディスク読み取り/書き込み負荷

    • ディスク合計の平均スループット

    • サーバー情報 (例: サーバー名、OS、ホスト名、文字セット)。

ターゲットとしての RDS for Oracle の権限

Amazon RDS for Oracle に移行するには、特権データベースユーザーを作成します。次のコード例を使用できます。

CREATE USER user_name IDENTIFIED BY your_password; -- System privileges GRANT DROP ANY CUBE BUILD PROCESS TO user_name; GRANT ALTER ANY CUBE TO user_name; GRANT CREATE ANY CUBE DIMENSION TO user_name; GRANT CREATE ANY ASSEMBLY TO user_name; GRANT ALTER ANY RULE TO user_name; GRANT SELECT ANY DICTIONARY TO user_name; GRANT ALTER ANY DIMENSION TO user_name; GRANT CREATE ANY DIMENSION TO user_name; GRANT ALTER ANY TYPE TO user_name; GRANT DROP ANY TRIGGER TO user_name; GRANT CREATE ANY VIEW TO user_name; GRANT ALTER ANY CUBE BUILD PROCESS TO user_name; GRANT CREATE ANY CREDENTIAL TO user_name; GRANT DROP ANY CUBE DIMENSION TO user_name; GRANT DROP ANY ASSEMBLY TO user_name; GRANT DROP ANY PROCEDURE TO user_name; GRANT ALTER ANY PROCEDURE TO user_name; GRANT ALTER ANY SQL TRANSLATION PROFILE TO user_name; GRANT DROP ANY MEASURE FOLDER TO user_name; GRANT CREATE ANY MEASURE FOLDER TO user_name; GRANT DROP ANY CUBE TO user_name; GRANT DROP ANY MINING MODEL TO user_name; GRANT CREATE ANY MINING MODEL TO user_name; GRANT DROP ANY EDITION TO user_name; GRANT CREATE ANY EVALUATION CONTEXT TO user_name; GRANT DROP ANY DIMENSION TO user_name; GRANT ALTER ANY INDEXTYPE TO user_name; GRANT DROP ANY TYPE TO user_name; GRANT CREATE ANY PROCEDURE TO user_name; GRANT CREATE ANY SQL TRANSLATION PROFILE TO user_name; GRANT CREATE ANY CUBE TO user_name; GRANT COMMENT ANY MINING MODEL TO user_name; GRANT ALTER ANY MINING MODEL TO user_name; GRANT DROP ANY SQL PROFILE TO user_name; GRANT CREATE ANY JOB TO user_name; GRANT DROP ANY EVALUATION CONTEXT TO user_name; GRANT ALTER ANY EVALUATION CONTEXT TO user_name; GRANT CREATE ANY INDEXTYPE TO user_name; GRANT CREATE ANY OPERATOR TO user_name; GRANT CREATE ANY TRIGGER TO user_name; GRANT DROP ANY ROLE TO user_name; GRANT DROP ANY SEQUENCE TO user_name; GRANT DROP ANY CLUSTER TO user_name; GRANT DROP ANY SQL TRANSLATION PROFILE TO user_name; GRANT ALTER ANY ASSEMBLY TO user_name; GRANT CREATE ANY RULE SET TO user_name; GRANT ALTER ANY OUTLINE TO user_name; GRANT UNDER ANY TYPE TO user_name; GRANT CREATE ANY TYPE TO user_name; GRANT DROP ANY MATERIALIZED VIEW TO user_name; GRANT ALTER ANY ROLE TO user_name; GRANT DROP ANY VIEW TO user_name; GRANT ALTER ANY INDEX TO user_name; GRANT COMMENT ANY TABLE TO user_name; GRANT CREATE ANY TABLE TO user_name; GRANT CREATE USER TO user_name; GRANT DROP ANY RULE SET TO user_name; GRANT CREATE ANY CONTEXT TO user_name; GRANT DROP ANY INDEXTYPE TO user_name; GRANT ALTER ANY OPERATOR TO user_name; GRANT CREATE ANY MATERIALIZED VIEW TO user_name; GRANT ALTER ANY SEQUENCE TO user_name; GRANT DROP ANY SYNONYM TO user_name; GRANT CREATE ANY SYNONYM TO user_name; GRANT DROP USER TO user_name; GRANT ALTER ANY MEASURE FOLDER TO user_name; GRANT ALTER ANY EDITION TO user_name; GRANT DROP ANY RULE TO user_name; GRANT CREATE ANY RULE TO user_name; GRANT ALTER ANY RULE SET TO user_name; GRANT CREATE ANY OUTLINE TO user_name; GRANT UNDER ANY TABLE TO user_name; GRANT UNDER ANY VIEW TO user_name; GRANT DROP ANY DIRECTORY TO user_name; GRANT ALTER ANY CLUSTER TO user_name; GRANT CREATE ANY CLUSTER TO user_name; GRANT ALTER ANY TABLE TO user_name; GRANT CREATE ANY CUBE BUILD PROCESS TO user_name; GRANT ALTER ANY CUBE DIMENSION TO user_name; GRANT CREATE ANY EDITION TO user_name; GRANT CREATE ANY SQL PROFILE TO user_name; GRANT ALTER ANY SQL PROFILE TO user_name; GRANT DROP ANY OUTLINE TO user_name; GRANT DROP ANY CONTEXT TO user_name; GRANT DROP ANY OPERATOR TO user_name; GRANT DROP ANY LIBRARY TO user_name; GRANT ALTER ANY LIBRARY TO user_name; GRANT CREATE ANY LIBRARY TO user_name; GRANT ALTER ANY MATERIALIZED VIEW TO user_name; GRANT ALTER ANY TRIGGER TO user_name; GRANT CREATE ANY SEQUENCE TO user_name; GRANT DROP ANY INDEX TO user_name; GRANT CREATE ANY INDEX TO user_name; GRANT DROP ANY TABLE TO user_name; GRANT SELECT_CATALOG_ROLE TO user_name; GRANT SELECT ANY SEQUENCE TO user_name; -- Database Links GRANT CREATE DATABASE LINK TO user_name; GRANT CREATE PUBLIC DATABASE LINK TO user_name; GRANT DROP PUBLIC DATABASE LINK TO user_name; -- Server Level Objects (directory) GRANT CREATE ANY DIRECTORY TO user_name; GRANT DROP ANY DIRECTORY TO user_name; -- (for RDS only) GRANT EXECUTE ON RDSADMIN.RDSADMIN_UTIL TO user_name; -- Server Level Objects (tablespace) GRANT CREATE TABLESPACE TO user_name; GRANT DROP TABLESPACE TO user_name; -- Server Level Objects (user roles) /* (grant source privileges with admin option or convert roles/privs as DBA) */ -- Queues grant execute on DBMS_AQADM to user_name; grant aq_administrator_role to user_name; -- for Materialized View Logs creation GRANT SELECT ANY TABLE TO user_name; -- Roles GRANT RESOURCE TO user_name; GRANT CONNECT TO user_name;

前の例では、user_name ユーザーの名前を入力します。次に、your_password 安全なパスワードを使用します。

Oracle を Amazon RDS for Oracle に変換する際の制限

Oracle スキーマとコードを Amazon RDS for Oracle に移行するときに考慮すべき制限事項は次のとおりです。

  • という Amazon の事前定義されたロールは、通常RDSDBA、Oracle データベースエンジンに対するすべての管理者権限を許可します。Oracle エンジンを使用する Amazon RDS DB インスタンスの DBA ロールでは、次の権限は使用できません。

    • データベースの変更

    • システムの変更

    • ディレクトリの作成

    • 権限の付与

    • ロールの付与

    • 外部ジョブの作成

    Oracle RDS ユーザーロールには、他のすべての権限を付与できます。

  • Amazon RDS for Oracle は、従来の監査、DBMS_FGA パッケージを使用したきめ細かな監査、Oracle 統合監査をサポートしています。

  • Amazon RDS for Oracle は変更データキャプチャ () をサポートしていませんCDC。データベース移行CDC中および移行後に実行するには、 を使用します AWS Database Migration Service。