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

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 Databases tab 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

  1. Activez la réplication pour une base de données principale dans un ensemble de comptes.

  2. 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             |
+------------------+---------------------------------+---------------+------------------+---------+-------------------+
Copy

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;
Copy

É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;
Copy