翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した 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更新します。詳細については、次を参照してください。
-
DB インスタンスがバージョン 11.2.0.4.v10 以降の場合は、 XMLDBオプションをインストールする必要があります。詳細については、以下を参照してください。
-
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 BYyour_password
; -- System privileges GRANT DROP ANY CUBE BUILD PROCESS TOuser_name
; GRANT ALTER ANY CUBE TOuser_name
; GRANT CREATE ANY CUBE DIMENSION TOuser_name
; GRANT CREATE ANY ASSEMBLY TOuser_name
; GRANT ALTER ANY RULE TOuser_name
; GRANT SELECT ANY DICTIONARY TOuser_name
; GRANT ALTER ANY DIMENSION TOuser_name
; GRANT CREATE ANY DIMENSION TOuser_name
; GRANT ALTER ANY TYPE TOuser_name
; GRANT DROP ANY TRIGGER TOuser_name
; GRANT CREATE ANY VIEW TOuser_name
; GRANT ALTER ANY CUBE BUILD PROCESS TOuser_name
; GRANT CREATE ANY CREDENTIAL TOuser_name
; GRANT DROP ANY CUBE DIMENSION TOuser_name
; GRANT DROP ANY ASSEMBLY TOuser_name
; GRANT DROP ANY PROCEDURE TOuser_name
; GRANT ALTER ANY PROCEDURE TOuser_name
; GRANT ALTER ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT DROP ANY MEASURE FOLDER TOuser_name
; GRANT CREATE ANY MEASURE FOLDER TOuser_name
; GRANT DROP ANY CUBE TOuser_name
; GRANT DROP ANY MINING MODEL TOuser_name
; GRANT CREATE ANY MINING MODEL TOuser_name
; GRANT DROP ANY EDITION TOuser_name
; GRANT CREATE ANY EVALUATION CONTEXT TOuser_name
; GRANT DROP ANY DIMENSION TOuser_name
; GRANT ALTER ANY INDEXTYPE TOuser_name
; GRANT DROP ANY TYPE TOuser_name
; GRANT CREATE ANY PROCEDURE TOuser_name
; GRANT CREATE ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT CREATE ANY CUBE TOuser_name
; GRANT COMMENT ANY MINING MODEL TOuser_name
; GRANT ALTER ANY MINING MODEL TOuser_name
; GRANT DROP ANY SQL PROFILE TOuser_name
; GRANT CREATE ANY JOB TOuser_name
; GRANT DROP ANY EVALUATION CONTEXT TOuser_name
; GRANT ALTER ANY EVALUATION CONTEXT TOuser_name
; GRANT CREATE ANY INDEXTYPE TOuser_name
; GRANT CREATE ANY OPERATOR TOuser_name
; GRANT CREATE ANY TRIGGER TOuser_name
; GRANT DROP ANY ROLE TOuser_name
; GRANT DROP ANY SEQUENCE TOuser_name
; GRANT DROP ANY CLUSTER TOuser_name
; GRANT DROP ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT ALTER ANY ASSEMBLY TOuser_name
; GRANT CREATE ANY RULE SET TOuser_name
; GRANT ALTER ANY OUTLINE TOuser_name
; GRANT UNDER ANY TYPE TOuser_name
; GRANT CREATE ANY TYPE TOuser_name
; GRANT DROP ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY ROLE TOuser_name
; GRANT DROP ANY VIEW TOuser_name
; GRANT ALTER ANY INDEX TOuser_name
; GRANT COMMENT ANY TABLE TOuser_name
; GRANT CREATE ANY TABLE TOuser_name
; GRANT CREATE USER TOuser_name
; GRANT DROP ANY RULE SET TOuser_name
; GRANT CREATE ANY CONTEXT TOuser_name
; GRANT DROP ANY INDEXTYPE TOuser_name
; GRANT ALTER ANY OPERATOR TOuser_name
; GRANT CREATE ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY SEQUENCE TOuser_name
; GRANT DROP ANY SYNONYM TOuser_name
; GRANT CREATE ANY SYNONYM TOuser_name
; GRANT DROP USER TOuser_name
; GRANT ALTER ANY MEASURE FOLDER TOuser_name
; GRANT ALTER ANY EDITION TOuser_name
; GRANT DROP ANY RULE TOuser_name
; GRANT CREATE ANY RULE TOuser_name
; GRANT ALTER ANY RULE SET TOuser_name
; GRANT CREATE ANY OUTLINE TOuser_name
; GRANT UNDER ANY TABLE TOuser_name
; GRANT UNDER ANY VIEW TOuser_name
; GRANT DROP ANY DIRECTORY TOuser_name
; GRANT ALTER ANY CLUSTER TOuser_name
; GRANT CREATE ANY CLUSTER TOuser_name
; GRANT ALTER ANY TABLE TOuser_name
; GRANT CREATE ANY CUBE BUILD PROCESS TOuser_name
; GRANT ALTER ANY CUBE DIMENSION TOuser_name
; GRANT CREATE ANY EDITION TOuser_name
; GRANT CREATE ANY SQL PROFILE TOuser_name
; GRANT ALTER ANY SQL PROFILE TOuser_name
; GRANT DROP ANY OUTLINE TOuser_name
; GRANT DROP ANY CONTEXT TOuser_name
; GRANT DROP ANY OPERATOR TOuser_name
; GRANT DROP ANY LIBRARY TOuser_name
; GRANT ALTER ANY LIBRARY TOuser_name
; GRANT CREATE ANY LIBRARY TOuser_name
; GRANT ALTER ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY TRIGGER TOuser_name
; GRANT CREATE ANY SEQUENCE TOuser_name
; GRANT DROP ANY INDEX TOuser_name
; GRANT CREATE ANY INDEX TOuser_name
; GRANT DROP ANY TABLE TOuser_name
; GRANT SELECT_CATALOG_ROLE TOuser_name
; GRANT SELECT ANY SEQUENCE TOuser_name
; -- Database Links GRANT CREATE DATABASE LINK TOuser_name
; GRANT CREATE PUBLIC DATABASE LINK TOuser_name
; GRANT DROP PUBLIC DATABASE LINK TOuser_name
; -- Server Level Objects (directory) GRANT CREATE ANY DIRECTORY TOuser_name
; GRANT DROP ANY DIRECTORY TOuser_name
; -- (for RDS only) GRANT EXECUTE ON RDSADMIN.RDSADMIN_UTIL TOuser_name
; -- Server Level Objects (tablespace) GRANT CREATE TABLESPACE TOuser_name
; GRANT DROP TABLESPACE TOuser_name
; -- Server Level Objects (user roles) /* (grant source privileges with admin option or convert roles/privs as DBA) */ -- Queues grant execute on DBMS_AQADM touser_name
; grant aq_administrator_role touser_name
; -- for Materialized View Logs creation GRANT SELECT ANY TABLE TOuser_name
; -- Roles GRANT RESOURCE TOuser_name
; GRANT CONNECT TOuser_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。