Basculement de bases de données sur plusieurs comptes¶
Cette rubrique décrit les étapes nécessaires au basculement de vos bases de données répliquées sur plusieurs comptes appartenant à différentes régions pour la récupération après sinistre.
Note
Seuls les administrateurs de compte (utilisateurs dotés du rôle ACCOUNTADMIN) peuvent activer et gérer le basculement pour une base de données.
Snowflake recommande d’utiliser la fonction de réplication de compte pour basculer les bases de données. Les groupes de réplication et de basculement permettent la réplication de plusieurs bases de données et d’autres objets de compte avec une cohérence ponctuelle. Les groupes de basculement permettent en outre de basculer sur une collection d’objets en tant qu’unité. Pour une liste complète de la disponibilité des fonctionnalités et des objets pris en charge, reportez-vous à Présentation de la réplication et du basculement à travers plusieurs comptes.
Dans ce chapitre :
Interface Web pour la réplication de la base de données et basculement /récupération¶
Attention
La gestion et la surveillance de la réplication et du basculement / de la restauration dans Snowsight et Classic Console ne sont disponibles que pour les comptes utilisant une connectivité privée.
Pour tous les autres comptes, consultez Surveiller la réplication à l’aide de Snowsight et Réplication d’objets de compte et de bases de données.
Les administrateurs de comptes (utilisateurs ayant le rôle ACCOUNTADMIN) peuvent gérer les actions de réplication et de basculement/restauration dans Snowsight ou dans l”Classic Console.
Snowsight¶
Voir Interface Web pour la réplication de la base de données et basculement /récupération pour obtenir des instructions sur la promotion d’une base de données locale et s’en servir en tant que base de données principale.
Classic Console¶
Utilisez la zone Replication de l’onglet Databases dans l”Classic Console pour effectuer la plupart des actions liées à la configuration et à la gestion de la réplication de la base de données, y compris les actions suivantes :
Permettre à une base de données locale de servir de base de données principale.
Activer le basculement pour une base de données principale (comptes Business Critical Edition [ou versions ultérieures]).
Actualiser une base de données secondaire, une fois (manuellement) ou de manière répétée (selon un calendrier, à l’aide d’une tâche).
Promouvoir une base de données secondaire pour servir de base de données principale (comptes Business Critical Edition ou versions supérieures).
Désactiver la réplication et/ou le basculement pour une base de données principale.
Identificateur de compte pour les commandes de réplication et le basculement SQL¶
Les exemples d’instructions SQL dans les instructions ci-dessous utilisent un identificateur de compte dans le format, organization_name.account_name
. Toutefois, les identificateurs de compte au format snowflake_region.account_locator
sont pris en charge.
Pour plus de détails, voir Identificateurs de comptes pour la réplication et le basculement.
Conditions préalables¶
Activez la réplication pour une base de données principale dans un ensemble de comptes.
Créez au moins une base de données secondaire (c.-à-d. un réplica) de la base de données principale dans au moins un des comptes spécifiés à l’étape 1 et actualisez régulièrement (c.-à-d. synchronisez) le réplica avec les dernières mises à jour de la base de données principale.
Pour obtenir des instructions, voir Réplication de bases de données sur plusieurs comptes.
Étape 1 : Affichage de tous les comptes activés pour la réplication¶
Interrogez SHOW REPLICATION ACCOUNTS pour afficher la liste des comptes de votre organisation pour lesquels la réplication a été activée.
SHOW REPLICATION ACCOUNTS;
+------------------+---------------------------------+---------------+------------------+---------+-------------------+
| snowflake_region | created_on | account_name | account_locator | comment | organization_name |
|------------------+---------------------------------+---------------+------------------+---------+-------------------|
| AWS_US_WEST_2 | 2018-11-19 16:11:12.720 -0700 | ACCOUNT1 | MYACCOUNT1 | | MYORG |
| AWS_US_EAST_1 | 2019-06-02 14:12:23.192 -0700 | ACCOUNT2 | MYACCOUNT2 | | MYORG |
+------------------+---------------------------------+---------------+------------------+---------+-------------------+
Voir la liste complète des IDs de région.
Étape 2 : Activation du basculement pour une base de données principale¶
Note
Ignorez cette étape si vous avez activé le basculement pour cette base de données principale dans Réplication de bases de données sur plusieurs comptes.
Activez le basculement pour une base de données principale sur un ou plusieurs comptes de votre entreprise à l’aide d’une instruction ALTER DATABASE … ENABLE FAILOVER TO ACCOUNTS . Le réplica de cette base de données principale dans l’un de ces comptes (c’est-à-dire une base de données secondaire) peut être promu pour servir de base de données principale.
Notez que l’activation du basculement pour une base de données principale peut être effectuée avant ou après la création d’un réplica de la base de données principale dans un compte spécifié.
Exemple¶
Activez le basculement de la base de données principale mydb1
vers les comptes myaccount2
et myaccount3
. Dans cet exemple, supposons que la base de données principale soit stockée dans le compte myaccount1
et que les trois comptes appartiennent à l’organisation, myorg
. La commande ALTER DATABASE doit être exécutée à partir de myaccount1
.
ALTER DATABASE mydb1 ENABLE FAILOVER TO ACCOUNTS myorg.myaccount2, myorg.myaccount3;
Étape 3 : Promotion d’une base de données réplica pour qu’elle devienne la base de données principale¶
Tout réplica d’une base de données principale peut être promu pour servir de base de données principale en exécutant une instruction ALTER DATABASE … PRIMARY . Une fois promue, la base de données devient accessible en écriture. Dans le même temps, la base de données principale précédente devient une base de données réplica en lecture seule.
Exécutez l’instruction ALTER DATABASE
dans le compte contenant la base de données secondaire que vous promouvez.
Note
Pour promouvoir une base de données secondaire, le rôle utilisé pour effectuer l’opération doit disposer du privilège OWNERSHIP sur la base de données.
Exemple¶
-- Promote a secondary database to serve as the primary database.
ALTER DATABASE mydb1 PRIMARY;
-- Verify that the former secondary database was promoted successfully.
SHOW REPLICATION DATABASES;