En esta página, se describe cómo configurar tu base de datos de Oracle de origen para una migración única con Database Migration Service. Antes de poder usar Database Migration Service para extraer datos de tu base de datos de Oracle de origen, debes otorgar los privilegios adecuados a la cuenta de usuario que se usará para conectarse a tu base de datos y acceder a los objetos de esquema y código.
De forma predeterminada, Database Migration Service intenta acceder a todas las definiciones de tus objetos a través de
DBA_VIEWS.
El acceso a DBA_VIEWS se otorga con el privilegio SELECT ANY DICTIONARY.
Si la cuenta de usuario de migración no puede acceder a las vistas de DBA, Database Migration Service recurre a
ALL_VIEWS.
Este enfoque te brinda el mayor grado de flexibilidad para definir un modelo de seguridad que se adapte mejor a tus requisitos.
Para conocer los pasos de configuración exactos, consulta la sección correspondiente a tu base de datos de origen:
- Configura una base de datos de Amazon RDS para Oracle
- Configura una base de datos de Oracle autoadministrada
- Configura una base de datos conectable de Oracle autoadministrada
Configura una base de datos de Amazon RDS para Oracle
Para configurar tus bases de datos de origen de Amazon RDS para una migración única, otorga los privilegios adecuados a la cuenta de usuario que usará Database Migration Service.
Para cada comando, reemplaza USER_NAME por el nombre de la cuenta de usuario que usas para la migración. La ejecución de estos comandos otorga privilegios para leer desde V$DATABASE, lo que se requiere para la validación.
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');
Configura una base de datos de Oracle
Para configurar tus bases de datos de Oracle de origen para una migración única, otorga los privilegios adecuados a la cuenta de usuario que usará Database Migration Service.
Para cada comando, reemplaza USER_NAME por el nombre de la cuenta de usuario que usas para la migración. La ejecución de estos comandos otorga privilegios para leer desde V$DATABASE, lo que se requiere para la validación.
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;
Configura una base de datos conectable (PDB) de Oracle
Database Migration Service admite la arquitectura multiusuario de Oracle, en la que una sola base de datos de contenedor (CDB) contiene una o más bases de datos conectables (PDB). Cada base de datos conectable es una base de datos independiente con un ID y un nombre únicos, y se puede administrar de forma independiente.
Para configurar una base de datos conectable de Oracle de modo que puedas usarla con Database Migration Service, sigue estos pasos:
- Crea un
usuario común.
Un usuario común tiene la misma identidad en el contenedor de
CDB$ROOTy en las bases de datos conectables. Un usuario común puede conectarse y realizar operaciones dentro de la raíz y en cualquier base de datos conectable en la que tenga privilegios. El nombre de usuario común debe comenzar conC##oc##. - Otorga los privilegios adecuados al usuario común que se usará para conectarse a tu base de datos. Se requieren diferentes permisos a nivel del contenedor
CDB$ROOTy de la base de datos conectable.Para cada comando, reemplaza
USER_NAMEpor el nombre de la cuenta de usuario que usas para la migración. La ejecución de estos comandos otorga privilegios para leer desdeV$DATABASE, lo que se requiere para la validación.- Conéctate al contenedor
CDB$ROOTy ejecuta los siguientes comandos: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;
- Conéctate a la base de datos conectable y ejecuta los siguientes comandos:
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;
- Conéctate al contenedor