このページでは、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 と名前を持つ自己完結型のデータベースであり、個別に管理できます。
Oracle プラグイン対応データベースを構成して Database Migration Service で使用できるようにするには、次の手順を行います。
-
共通ユーザーを作成します。
共通ユーザーは、
CDB$ROOTコンテナ とプラグイン対応データベースで同じ ID を持ちます。共通ユーザーは、ルートに接続し、ルート内、および権限があるプラグイン対応データベース内で操作できます。共通ユーザー名はC##またはc##. で始まる必要があります。 - データベースへの接続に使用される共通ユーザーに、適切な権限を付与します。
`CDB$ROOT` コンテナレベルとプラグイン対応データベース レベルでは、異なる権限が必要です。
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;