Tous les produits
Search
Centre de documentation

ApsaraDB for OceanBase (Deprecated):Autorisations utilisateur

Dernière mise à jour :Aug 09, 2026

Avant de migrer des données avec Data Transmission Service (DTS), créez un utilisateur de base de données pour chaque source de données. Cet utilisateur servira d'utilisateur de migration ou de synchronisation et doit disposer des autorisations requises sur les sources de données source et cible.

Autorisations requises lorsque la source est une base de données OceanBase en mode compatible MySQL

Lorsqu'une base de données OceanBase en mode compatible MySQL sert de source, l'utilisateur de migration ou de synchronisation doit disposer des autorisations suivantes :

  • Si la cible est une file d'attente de messages, telle que Kafka, DataHub ou RocketMQ, l'utilisateur doit disposer de l'autorisation SELECT sur la base de données source.

    Si la cible est une base de données, telle qu'une base de données MySQL ou une base de données OceanBase en mode compatible MySQL, l'utilisateur doit disposer de l'autorisation SELECT sur la base de données source et sur la base de données oceanbase.

    GRANT SELECT ON <database_name>.* TO '<user_name>';
    GRANT SELECT ON oceanbase.* TO '<user_name>';
    Important

    L'autorisation SELECT sur la base de données oceanbase n'est requise que pour OceanBase Database V4.0.0 et versions ultérieures.

  • Lors d'une migration de données entre des instances OceanBase Database en mode compatible MySQL, si la synchronisation incrémentielle inverse est activée, l'utilisateur de migration doit également disposer des autorisations CREATE, SELECT, INSERT, UPDATE et DELETE sur la base de données test.

    GRANT CREATE,SELECT,INSERT,UPDATE,DELETE ON test.* TO '<user_name>';
  • Pour la synchronisation incrémentielle des données d'une instance OceanBase Database dans un VPC, vous devez lire les données des journaux incrémentiels et les informations sur la structure des objets de la base de données. Créez un utilisateur dans le locataire sys de l'instance source et accordez-lui l'autorisation SELECT ON *.*.

    GRANT SELECT ON <database_name>.* TO <drc_user>;

Autorisations requises lorsque la cible est une base de données OceanBase en mode compatible MySQL

Lorsqu'une base de données OceanBase en mode compatible MySQL sert de cible, l'utilisateur de migration doit disposer des autorisations suivantes :

  • Les autorisations CREATE, CREATE VIEW, SELECT, INSERT, UPDATE, ALTER, INDEX et DELETE sur la base de données cible.

    GRANT CREATE,CREATE VIEW,SELECT,INSERT,UPDATE,ALTER,INDEX,DELETE ON <database_name>.* TO '<user_name>';
  • L'autorisation SELECT sur l'ensemble du locataire.

    GRANT SELECT ON *.* TO '<user_name>';

Autorisations requises lorsque la source est une base de données OceanBase en mode compatible Oracle

Lorsqu'une base de données OceanBase en mode compatible Oracle sert de source, l'utilisateur de migration ou de synchronisation doit disposer des autorisations suivantes :

  • Pour les versions d'OceanBase Database en mode compatible Oracle antérieures à la V2.2.70, l'utilisateur source doit disposer de l'autorisation GRANT SELECT ON *.* TO '<user_name>';.

  • Pour OceanBase Database en mode compatible Oracle V2.2.70 et versions ultérieures, l'utilisateur source doit disposer de l'autorisation GRANT DBA TO '<user_name>';.

    • Pour OceanBase Database en mode compatible Oracle V4.0.0 et versions ultérieures, l'utilisateur de migration source doit également disposer de l'autorisation SELECT sur DBA_OB_ARCHIVELOG.

      GRANT SELECT ON DBA_OB_ARCHIVELOG TO '<user_name>';
    • Pour OceanBase Database en mode compatible Oracle V4.2.0 et versions ultérieures, l'utilisateur de migration source doit également disposer de l'autorisation SELECT sur DBA_OB_TABLE_LOCATIONS.

      GRANT SELECT ON DBA_OB_TABLE_LOCATIONS TO '<user_name>';

Autorisations requises lorsque la cible est une base de données OceanBase en mode compatible Oracle

Lors de la migration de données d'une base de données Oracle vers une base de données OceanBase en mode compatible Oracle, les autorisations requises varient selon la version de la base de données cible.

Version cible

Description des autorisations

V2.2.5 ou V2.2.3

Accordez des autorisations à l'utilisateur de migration de l'une des deux manières suivantes :

  • Méthode 1

    • Exécutez l'instruction suivante pour accorder toutes les autorisations à l'utilisateur de migration. Cette méthode est simple, mais elle accorde des autorisations de niveau élevé.

      GRANT ALL PRIVILEGES ON *.* TO '<user_name>';
  • Méthode 2

    1. Si l'instance OceanBase Database se trouve dans un VPC, accordez à l'utilisateur de migration l'autorisation SELECT sur les vues système du locataire sys.

      GRANT SELECT ON SYS.* TO '<user_name>';
    2. Accordez diverses autorisations sur les tables métier à l'utilisateur de migration. Si plusieurs bases de données métier existent, accordez les autorisations séparément.

      GRANT SELECT, UPDATE, DELETE ON <db_name>.* TO '<user_name>';
          GRANT CREATE, INDEX, ALTER ON <db_name>.* TO '<user_name>';

V2.2.7 et versions ultérieures

Accordez des autorisations à l'utilisateur de migration de l'une des deux manières suivantes :

  • Méthode 1

    Exécutez l'instruction suivante. Cette méthode est simple, mais elle accorde à l'utilisateur des autorisations de niveau élevé.

    GRANT DBA TO '<user_name>';
  • Méthode 2

    Accordez diverses autorisations sur les tables métier à l'utilisateur. Si plusieurs bases de données métier existent, accordez les autorisations séparément.

    GRANT CONNECT TO '<user_name>';
        GRANT CREATE SESSION, ALTER SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY TO '<user_name>';
        GRANT CREATE ANY TABLE, CREATE ANY INDEX, CREATE ANY VIEW, INSERT ANY TABLE, UPDATE ANY TABLE, ALTER ANY TABLE, DELETE ANY TABLE TO '<user_name>';

Autorisations requises lorsque la source est une base de données Oracle

Une fois l'utilisateur créé, les autorisations requises varient selon la version de la base de données Oracle et le rôle de l'utilisateur.

Remarque
  • Pour une base de données secondaire Active Data Guard (ADG), les autorisations accordées peuvent ne pas prendre effet immédiatement. Le cas échéant, exécutez la commande ALTER SYSTEM FLUSH SHARED_POOL; dans la base de données secondaire pour actualiser le Shared Pool.

  • Les autorisations décrites dans cette rubrique incluent des autorisations larges telles que SELECT ANY TRANSACTION, SELECT ANY TABLE et SELECT ANY DICTIONARY. Il ne s'agit pas des autorisations minimales requises. Pour améliorer la sécurité lorsque la source est une base de données Oracle, accordez des autorisations plus granulaires au lieu d'utiliser ANY. Pour plus d'informations, consultez la section Autorisations minimales pour une base de données Oracle source.

Autorisations de l'utilisateur DBA pour les versions antérieures à Oracle 12c

Si votre environnement vous permet d'attribuer le rôle d'administrateur de base de données (DBA) à l'utilisateur de migration et que la version de la base de données Oracle est antérieure à 12c, exécutez l'instruction suivante pour accorder les autorisations DBA à l'utilisateur de migration.

GRANT DBA TO <user_name>;

Autorisations de l'utilisateur non-DBA pour les versions antérieures à Oracle 12c

Si votre environnement exige que vous n'accordiez que les autorisations nécessaires à l'utilisateur de migration et que la version de la base de données Oracle est antérieure à 12c, procédez comme suit :

  1. Accordez l'autorisation CONNECT.

    GRANT CONNECT TO <user_name>;
  2. Accordez les autorisations CREATE SESSION, ALTER SESSION, SELECT ANY TRANSACTION, SELECT ANY TABLE et SELECT ANY DICTIONARY à l'utilisateur de migration.

    GRANT CREATE SESSION, ALTER SESSION, 
    SELECT ANY TRANSACTION, SELECT ANY TABLE, SELECT ANY DICTIONARY TO <user_name>;
  3. Accordez les autorisations liées à LOGMINER à l'utilisateur de migration.

    GRANT EXECUTE ON SYS.DBMS_LOGMNR TO <user_name>;
  4. Accordez les autorisations CREATE TABLE et UNLIMITED TABLESPACE à l'utilisateur de migration.

    GRANT CREATE TABLE, UNLIMITED TABLESPACE TO <user_name>;
  5. Si le nom du schéma que vous souhaitez migrer est identique à user_name, exécutez l'instruction suivante.

    GRANT CREATE SEQUENCE,CREATE VIEW TO <user_name>;

    Si le nom du schéma que vous souhaitez migrer est différent de user_name, exécutez l'instruction suivante.

    GRANT CREATE ANY TABLE,CREATE ANY INDEX,DROP ANY TABLE,ALTER ANY TABLE,COMMENT ANY TABLE,
    DROP ANY INDEX,ALTER ANY INDEX,CREATE ANY SEQUENCE,ALTER ANY SEQUENCE,DROP ANY SEQUENCE,
    CREATE ANY VIEW,DROP ANY VIEW,INSERT ANY TABLE,DELETE ANY TABLE,UPDATE ANY TABLE TO <user_name>;

    Vous pouvez également exécuter les instructions suivantes.

    GRANT CREATE ANY TABLE,CREATE ANY INDEX,DROP ANY TABLE,ALTER ANY TABLE,COMMENT ANY TABLE,
    DROP ANY INDEX,ALTER ANY INDEX,CREATE ANY SEQUENCE,ALTER ANY SEQUENCE,DROP ANY SEQUENCE,
    CREATE ANY VIEW,DROP ANY VIEW TO <user_name>;
    # Add the specific table to be migrated to the Oracle database.
    GRANT DELETE, INSERT, UPDATE ON <database_name>.<table_name> TO <user_name>;

Autorisations de l'utilisateur DBA pour Oracle 12c et versions ultérieures

Si votre environnement vous permet d'attribuer le rôle DBA à l'utilisateur de migration et que la version de la base de données Oracle est 12c ou ultérieure, vérifiez si vous utilisez une base de données enfichable (PDB) d'Oracle 12c, 18c ou 19c.

  • Non-PDB

    1. Exécutez l'instruction suivante pour accorder les autorisations DBA à l'utilisateur de migration.

      GRANT DBA TO <user_name>;
    2. Exécutez l'instruction suivante pour accorder l'autorisation de lecture sur la table SYS.USER$ à l'utilisateur de migration.

      GRANT SELECT ON SYS.USER$ TO <user_name>;
  • PDB

    Si la source de migration des données est une PDB d'Oracle 12c, 18c ou 19c, le compte utilisé pour extraire les données de la PDB doit être un utilisateur commun.

    1. Exécutez l'instruction suivante pour basculer vers CDB$ROOT.

      ALTER SESSION SET CONTAINER=CDB$ROOT;

      Chaque utilisateur commun peut se connecter au conteneur racine, nommé CDB$ROOT, et à toute PDB pour laquelle il dispose d'autorisations de connexion, puis effectuer les opérations associées.

    2. Exécutez l'instruction suivante pour accorder les autorisations DBA à l'utilisateur de migration.

      GRANT DBA TO C##XXX CONTAINER=ALL;
    3. Exécutez l'instruction suivante pour accorder l'autorisation de lecture sur la table SYS.USER$ à l'utilisateur de migration.

      GRANT SELECT ON SYS.USER$ TO C##XXX CONTAINER=ALL;

Autorisations de l'utilisateur non-DBA pour Oracle 12c et versions ultérieures

Si votre environnement exige que vous n'accordiez que les autorisations nécessaires à l'utilisateur de migration et que la version de la base de données Oracle est 12c ou ultérieure, procédez comme suit :

  • Non-PDB

    1. Accordez l'autorisation CONNECT.

      GRANT CONNECT TO <user_name>;
    2. Exécutez l'instruction suivante pour accorder l'autorisation de lecture sur la table SYS.USER$ à l'utilisateur de migration.

      GRANT SELECT ON SYS.USER$ TO <user_name>;
    3. Accordez les autorisations CREATE SESSION, ALTER SESSION, SELECT ANY TRANSACTION, SELECT ANY TABLE et SELECT ANY DICTIONARY à l'utilisateur de migration.

      GRANT CREATE SESSION, ALTER SESSION, SELECT ANY TRANSACTION, SELECT ANY TABLE, SELECT ANY DICTIONARY TO <user_name>;
    4. Accordez les autorisations liées à LOGMINER à l'utilisateur de migration.

      GRANT LOGMINING TO <user_name>;
      GRANT EXECUTE ON SYS.DBMS_LOGMNR TO <user_name>;
    5. Accordez les autorisations CREATE TABLE et UNLIMITED TABLESPACE à l'utilisateur de migration.

      GRANT CREATE TABLE, UNLIMITED TABLESPACE TO <user_name>;
    6. Si le nom du schéma que vous souhaitez migrer est identique à user_name, exécutez l'instruction suivante.

      GRANT CREATE SEQUENCE,CREATE VIEW TO <user_name>;

      Si le nom du schéma que vous souhaitez migrer est différent de user_name, exécutez l'instruction suivante.

      GRANT CREATE ANY TABLE,CREATE ANY INDEX,DROP ANY TABLE,ALTER ANY TABLE,COMMENT ANY TABLE,
      DROP ANY INDEX,ALTER ANY INDEX,CREATE ANY SEQUENCE,ALTER ANY SEQUENCE,DROP ANY SEQUENCE,
      CREATE ANY VIEW,DROP ANY VIEW,INSERT ANY TABLE,DELETE ANY TABLE,UPDATE ANY TABLE TO <user_name>;
  • PDB

    Si la source de migration des données est une PDB d'Oracle 12c, 18c ou 19c, le compte utilisé pour extraire les données de la PDB doit être un utilisateur commun.

    1. Accordez l'autorisation CONNECT.

      GRANT CONNECT TO <C##XXX> CONTAINER=ALL;
    2. Exécutez l'instruction suivante pour accorder l'autorisation de lecture sur la table SYS.USER$ à l'utilisateur de migration.

      GRANT SELECT ON SYS.USER$ TO <C##XXX> CONTAINER=ALL;
    3. Accordez les autorisations CREATE SESSION, ALTER SESSION, SELECT ANY TRANSACTION, SELECT ANY TABLE et SELECT ANY DICTIONARY à l'utilisateur de migration.

      GRANT CREATE SESSION, ALTER SESSION, 
      SELECT ANY TRANSACTION, SELECT ANY TABLE, SELECT ANY DICTIONARY TO <C##XXX> CONTAINER=ALL;
    4. Accordez les autorisations liées à LOGMINER à l'utilisateur de migration.

      GRANT LOGMINING TO <C##XXX> CONTAINER=ALL;
      GRANT EXECUTE ON SYS.DBMS_LOGMNR TO <C##XXX> CONTAINER=ALL;
    5. Accordez les autorisations CREATE TABLE et UNLIMITED TABLESPACE à l'utilisateur de migration.

      GRANT CREATE TABLE, UNLIMITED TABLESPACE TO <C##XXX> CONTAINER=ALL;
    6. Si le nom du schéma que vous souhaitez migrer est identique à C##XXX, exécutez l'instruction suivante.

      GRANT CREATE SEQUENCE,CREATE VIEW TO <C##XXX> CONTAINER=ALL;

      Si le nom du schéma que vous souhaitez migrer est différent de C##XXX, exécutez l'instruction suivante.

      GRANT CREATE ANY TABLE,CREATE ANY INDEX,DROP ANY TABLE,ALTER ANY TABLE,COMMENT ANY TABLE,
      DROP ANY INDEX,ALTER ANY INDEX,CREATE ANY SEQUENCE,ALTER ANY SEQUENCE,DROP ANY SEQUENCE,
      CREATE ANY VIEW,DROP ANY VIEW,INSERT ANY TABLE,DELETE ANY TABLE,UPDATE ANY TABLE TO <C##XXX> CONTAINER=ALL;

Autorisations requises lorsque la source est une base de données MySQL

  • L'utilisateur de la base de données doit disposer de l'autorisation de lecture sur la base de données que vous souhaitez migrer. Si vous utilisez MySQL 8.0, accordez également l'autorisation SHOW VIEW.

    GRANT SELECT ON <database_name>.* TO '<user_name>';
  • Pour la synchronisation incrémentielle depuis une base de données MySQL, l'utilisateur de la base de données doit disposer des autorisations REPLICATION CLIENT, REPLICATION SLAVE et SELECT *.*.

    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '<user_name>' [WITH GRANT OPTION];
    GRANT SELECT ON *.* TO '<user_name>';
    Remarque
    • Lors de la synchronisation incrémentielle, le projet risque d'être interrompu si l'utilisateur ne dispose pas de l'autorisation de lecture sur toutes les tables de la base de données source.

    • Le paramètre WITH GRANT OPTION est facultatif.

  • Lors de la migration de données d'une base de données MySQL vers une base de données OceanBase en mode compatible MySQL, si la synchronisation incrémentielle inverse est activée, l'utilisateur de migration doit également disposer des autorisations CREATE, SELECT, INSERT, UPDATE et DELETE sur la base de données test.

    GRANT CREATE,SELECT,INSERT,UPDATE,DELETE ON test.* TO '<user_name>';

Autorisations requises lorsque la source est une base de données TiDB

  • L'utilisateur de la base de données doit disposer de l'autorisation de lecture sur la base de données que vous souhaitez migrer.

    GRANT SELECT ON <database_name>.* TO '<user_name>';
  • Pour la synchronisation incrémentielle depuis une base de données TiDB, l'utilisateur de la base de données doit disposer des autorisations REPLICATION CLIENT, REPLICATION SLAVE et SELECT *.*.

    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '<user_name>' [WITH GRANT OPTION];
    GRANT SELECT ON *.* TO '<user_name>';

Autorisations requises lorsque la cible est une base de données AnalyticDB for MySQL

AnalyticDB for MySQL (ADB) vous permet d'accorder différentes autorisations à différents niveaux de granularité pour contrôler l'accès. Pour plus d'informations, consultez la section Modèle d'autorisations.

ADB prend en charge le contrôle d'accès aux quatre niveaux de granularité suivants :

  • GLOBAL : Niveau du cluster

  • DB : Niveau de la base de données

  • TABLE : Niveau de la table

  • COLUMN : Niveau de la colonne (champ)

Autorisations requises lorsque la cible est une instance Kafka

Si l'instance Kafka nécessite une authentification, consultez la section Créer une source de données Kafka.

Un utilisateur Kafka doit disposer des autorisations pour effectuer les opérations suivantes :

  • Créer et afficher des rubriques.

  • Afficher les informations de partition des rubriques.

  • Écrire des enregistrements.

  • Lire des enregistrements.

Autorisations requises lorsque la cible est une instance DataHub

DataHub authentifie les utilisateurs en fonction des endpoints, des ID AccessKey et des secrets AccessKey.

Un utilisateur DataHub doit disposer des autorisations GetProject, CreateTopic, ListTopic, GetTopic, ListShard, PutRecords, GetRecords et GetCursor.

Autorisations requises lorsque la cible est une instance RocketMQ

Lorsqu'une instance RocketMQ sert de cible, l'utilisateur de synchronisation doit disposer des autorisations pour effectuer les opérations suivantes :

  • Créer et afficher des rubriques.

  • Afficher les informations de file d'attente de messages des rubriques.

  • Écrire des enregistrements.

  • Lire des enregistrements.