Configurer votre base de données Oracle source pour une migration ponctuelle

Cette page explique comment configurer votre base de données Oracle source pour une migration ponctuelle 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 servira à établir la connexion à 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'objet via DBA_VIEWS. L'accès à DBA_VIEWS est accordé avec le droit SELECT ANY DICTIONARY. Si les vues DBA ne sont pas accessibles au compte utilisateur de migration, Database Migration Service revient à ALL_VIEWS. Cette approche vous offre une flexibilité maximale pour définir un modèle de sécurité qui correspond le mieux à vos exigences.

Pour connaître les étapes de configuration exactes, consultez la section correspondant à votre base de données source :

Configurer une base de données Amazon RDS pour Oracle

Pour configurer vos bases de données sources Amazon RDS 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 de lecture à partir de V$DATABASE, ce qui est nécessaire 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 sources Oracle 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 de lecture à partir de V$DATABASE, ce qui est nécessaire 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 Oracle (PDB)

Database Migration Service est compatible avec l'architecture mutualisée Oracle, dans laquelle une seule base de données de conteneur (CDB) contient une ou plusieurs bases de données connectables (PDB). Chaque base de données connectable 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 :

  1. Créez un utilisateur commun.

    Un utilisateur commun a la même identité dans le CDB$ROOT conteneur et dans les bases de données connectables. Un utilisateur commun peut se connecter et effectuer des opérations dans la racine, ainsi que dans toute base de données connectable dans laquelle il dispose de droits. Le nom d'utilisateur commun doit commencer par C## ou c##.

  2. Accordez les droits appropriés à l'utilisateur commun qui servira à établir la connexion à votre base de données. Différentes autorisations sont requises aux niveaux du CDB$ROOT conteneur et de la base de données connectable.

    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 de lecture à partir de V$DATABASE, ce qui est nécessaire pour la validation.

    • Connectez-vous au conteneur CDB$ROOT et 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;