Cette page explique comment configurer votre base de données Oracle source pour une migration unique avec Database Migration Service. Avant de pouvoir utiliser Database Migration Service pour extraire des données de votre base de données Oracle source, vous devez accorder les droits appropriés au compte utilisateur qui sera utilisé pour se connecter à votre base de données et accéder aux objets de schéma et de code.
Par défaut, Database Migration Service tente d'accéder à toutes vos définitions d'objets via
DBA_VIEWS.
L'accès à DBA_VIEWS est accordé avec le droit SELECT ANY DICTIONARY.
Si le compte utilisateur de migration n'a pas accès aux vues DBA, Database Migration Service revient à
ALL_VIEWS.
Cette approche vous offre la plus grande flexibilité pour définir un modèle de sécurité qui correspond le mieux à vos besoins.
Pour connaître la procédure de configuration exacte, consultez la section correspondant à votre base de données source :
- Configurer une base de données Amazon RDS pour Oracle
- Configurer une base de données Oracle autogérée
- Configurer une base de données enfichable Oracle autogérée
Configurer une base de données Amazon RDS pour Oracle
Pour configurer vos bases de données sources Amazon RDS pour une migration unique, accordez les droits appropriés au compte utilisateur que Database Migration Service utilisera.
Pour chaque commande, remplacez USER_NAME par le nom du compte utilisateur que vous utilisez pour la migration. L'exécution de ces commandes octroie des droits à l'utilisateur afin qu'il puisse lire depuis V$DATABASE (obligatoire pour la validation).
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');
Configurer une base de données Oracle
Pour configurer vos bases de données Oracle sources pour une migration ponctuelle, accordez les droits appropriés au compte utilisateur que Database Migration Service utilisera.
Pour chaque commande, remplacez USER_NAME par le nom du compte utilisateur que vous utilisez pour la migration. L'exécution de ces commandes octroie des droits à l'utilisateur afin qu'il puisse lire depuis V$DATABASE (obligatoire pour la validation).
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;
Configurer une base de données connectable (PDB) Oracle
Database Migration Service est compatible avec l'architecture mutualisée Oracle, où une seule base de données de conteneur (CDB) contient une ou plusieurs bases de données connectables (PDB). Chaque base de données enfichable est une base de données autonome avec un ID et un nom uniques, et peut être gérée indépendamment.
Pour configurer une base de données connectable Oracle afin de pouvoir l'utiliser avec Database Migration Service, procédez comme suit :
- Créez un
utilisateur commun.
Un utilisateur commun possède la même identité dans le conteneur
CDB$ROOTet dans les bases de données enfichables. Un utilisateur commun peut se connecter à la racine et à toute base de données enfichable dans laquelle il dispose de droits d'accès, et y effectuer des opérations. Le nom d'utilisateur commun doit commencer parC##ouc##. - Accordez les droits appropriés à l'utilisateur commun qui servira à établir la connexion à votre base de données. Différentes autorisations sont requises au niveau du conteneur
CDB$ROOTet de la base de données enfichable.Pour chaque commande, remplacez
USER_NAMEpar le nom du compte utilisateur que vous utilisez pour la migration. L'exécution de ces commandes octroie des droits à l'utilisateur afin qu'il puisse lire depuisV$DATABASE(obligatoire pour la validation).- Connectez-vous au conteneur
CDB$ROOTet exécutez les commandes suivantes :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;
- Connectez-vous à la base de données connectable et exécutez les commandes suivantes :
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;
- Connectez-vous au conteneur