Utilisateurs et groupes : changements relatifs à la réplication initiale

Attention

Ce changement de comportement est présent dans le bundle 2023_04.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

Si vous utilisez un groupe de réplication ou de basculement pour répliquer des USERS et/ou des ROLES d’un compte source vers un compte cible, et qu’il y a des utilisateurs/rôles existants dans ce compte qui ont été créés par d’autres moyens que la réplication, l’opération d’actualisation initiale de ces types d’objets entraîne la suppression de tous les utilisateurs et/ou rôles dans le compte cible.

Si l’actualisation initiale supprime des utilisateurs et/ou des rôles dans le compte cible, elle peut entraîner une perte de données et de métadonnées :

  • Si des USERS sont inclus dans la liste OBJECT_TYPES pour le groupe de réplication ou de basculement :

    • Les feuilles de calcul sont perdues

    • L’historique des requêtes est perdu

  • Si des USERS sont inclus dans la liste OBJECT_TYPES, mais pas de ROLES :

    • Les privilèges accordés aux utilisateurs sont perdus

  • Si des ROLES sont inclus dans la liste OBJECT_TYPES :

    • Les privilèges accordés pour partager des objets sont perdus

Dans une prochaine version, ce comportement sera modifié comme suit :

Précédemment

Si un groupe de réplication ou de basculement inclut des USERS et/ou des ROLES dans la liste OBJECT_TYPES, l’opération d’actualisation initiale de ces types d’objets entraîne la suppression d’utilisateurs et/ou de rôles dans le compte cible.

Actuellement

Si un groupe de réplication ou de basculement inclut des USERS et/ou des ROLES dans la liste OBJECT_TYPES, l’opération d’actualisation initiale de ces types d’objets échouera avec un message d’erreur si :

  • Il existe des utilisateurs et/ou des rôles dans le compte cible qui correspondent à des objets portant le même nom dans le compte source et

  • Des USERS et/ou des ROLES n’ont pas été répliqués précédemment sur le compte cible

Le message d’erreur invite l’utilisateur à choisir entre deux options :

  • Forcez l’opération d’actualisation et autorisez la suppression de tout utilisateur et/ou rôle existant dans le compte cible. Les utilisateurs/rôles du compte source seront recréés dans le compte cible.

    Pour forcer une actualisation, vous devez exécuter l’instruction suivante :

    ALTER ( { FAILOVER | REPLICATION } ) GROUP <rg_name> REFRESH FORCE;
    
    Copy
  • Associez les objets de compte par le nom : les utilisateurs et/ou les rôles portant le même nom dans le compte cible et le compte source seront associés. Les utilisateurs/rôles du compte cible qui sont associés ne seront pas supprimés.

    Pour lier les comptes par leur nom, exécutez l’instruction suivante :

    SELECT SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME('<rg_name>');
    
    Copy

Note

Tout utilisateur/rôle dans le compte cible qui n’a pas d’objet correspondant dans le compte source avec le même nom est supprimé.

Pour plus d’informations, reportez-vous à Appliquer des IDs globaux à des objets créés par des scripts dans des comptes cibles.

Réf : 1044