このページでは、Database Migration Service を使用した 1 回限りの移行用に Oracle ソース データベースを構成する方法について説明します。Database Migration Service を使用して移行元 Oracle データベースからデータを pull する前に、データベースへの接続とスキーマ オブジェクトおよびコード オブジェクトへのアクセスに使用されるユーザー アカウントに適切な権限を付与する必要があります。
デフォルトでは、Database Migration Service は
DBA_VIEWS を介してすべてのオブジェクト定義にアクセスしようとします。DBA_VIEWS へのアクセスは、SELECT ANY DICTIONARY 権限で付与されます。移行ユーザー アカウントが DBA ビューにアクセスできない場合、Database Migration Service は
ALL_VIEWS にフォールバックします。このアプローチでは、要件に最適なセキュリティ モデルを定義するうえで、最大限の柔軟性が得られます。
具体的な構成手順については、移行元データベースのセクションをご覧ください。
Amazon RDS for Oracle データベースの構成
1 回限りの移行用に Amazon RDS 移行元データベースを構成するには、Database Migration Service が使用するユーザー アカウントに適切な権限を付与します。
各コマンドで、USER_NAME を移行に使用するユーザー アカウントの名前に置き換えます。これらのコマンドを実行すると、検証に必要な V$DATABASE から読み取る権限が付与されます。
GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','USER_NAME','SELECT');
Oracle データベースを構成する
1 回限りの移行用に Oracle ソース データベースを構成するには、Database Migration Service が使用するユーザー アカウントに適切な権限を付与します。
各コマンドで、USER_NAME を移行に使用するユーザー アカウントの名前に置き換えます。これらのコマンドを実行すると、検証に必要な V$DATABASE から読み取る権限が付与されます。
GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;
Oracle プラガブル データベース(PDB)を構成する
Database Migration Service は、単一の コンテナ データベース(CDB)に 1 つ以上のプラガブル データベース(PDB)が含まれている Oracle マルチテナント アーキテクチャをサポートしています。各プラグイン対応データベースは一意の ID と名前を持つ自己完結型のデータベースであり、個別に管理できます。
Database Migration Service で使用できるように Oracle プラグイン対応データベースを構成するには、次の操作を行います。
-
共通ユーザーを作成します。
共通ユーザーは、
CDB$ROOTコンテナとプラガブル データベースで同じ ID を持ちます。共通ユーザーは、ルートに接続し、ルート内、および権限があるプラグイン対応データベース内で操作できます。共通ユーザー名はC##またはc##で始まる必要があります。 - データベースへの接続に使用される共通ユーザーに、適切な権限を付与します。
CDB$ROOTコンテナレベルとプラグイン対応データベース レベルでは、異なる権限が必要です。各コマンドで、
USER_NAMEを移行に使用するユーザー アカウントの名前に置き換えます。これらのコマンドを実行すると、検証に必要なV$DATABASEから読み取る権限が付与されます。CDB$ROOTコンテナに接続し、次のコマンドを実行します。GRANT CREATE SESSION TO USER_NAME; GRANT SET CONTAINER TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME; GRANT EXECUTE_CATALOG_ROLE TO USER_NAME;
- プラグイン対応データベースに接続し、次のコマンドを実行します。
GRANT CREATE SESSION TO USER_NAME; GRANT SET CONTAINER TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;