Execução de failover em bancos de dados em múltiplas contas¶
Este tópico descreve as etapas necessárias para fazer o failover de seus bancos de dados replicados em múltiplas contas em diferentes regiões para a recuperação de desastres.
Nota
Somente administradores de conta (usuários com a função ACCOUNTADMIN) podem habilitar e gerenciar o failover de um banco de dados.
A Snowflake recomenda o uso do recurso de replicação de conta para o failover de bancos de dados. Os grupos de replicação e failover permitem a replicação de vários bancos de dados e outros objetos de conta com consistência pontual. Além disso, os grupos de failover permitem a falha em uma coleção de objetos como uma unidade. Para obter uma lista completa da disponibilidade do recurso e objetos suportados, consulte Introdução à replicação e failover em várias contas.
Neste tópico:
Interface da Web para replicação de banco de dados e failover/failback¶
Atenção
O gerenciamento e o monitoramento da replicação e do failover/failback em Snowsight e Classic Console estão disponíveis apenas para contas que usam conectividade privada.
Para todas as outras contas, consulte Monitoramento da replicação usando o Snowsight e Replicação de objetos de conta e bancos de dados.
Os administradores de conta (usuários com a função ACCOUNTADMIN) podem gerenciar ações de replicação e failover/failback tanto em Snowsight quanto em Classic Console.
Snowsight¶
Consulte Interface da Web para replicação de banco de dados e failover/failback para instruções sobre como promover um banco de dados local para servir como o banco de dados primário.
Classic Console¶
Use a área Replication da guia Databases na Classic Console para executar a maioria das ações relacionadas à configuração e ao gerenciamento da replicação do banco de dados, incluindo as seguintes ações:
Promover um banco de dados local para servir como banco de dados primário.
Habilitar o failover para um banco de dados primário (contas Business Critical Edition (ou superior)).
Atualizar um banco de dados secundário, seja uma vez (manualmente) ou repetidamente (em um cronograma, usando uma tarefa).
Promover um banco de dados secundário para servir como banco de dados primário (contas Business Critical Edition (ou superiores)).
Desativar a replicação e/ou o failover de um banco de dados primário.
Identificador de conta para comandos SQL de replicação e failover¶
As instruções SQL de amostra abaixo usam um identificador de conta no formato organization_name.account_name
. Entretanto, os identificadores de conta no formato snowflake_region.account_locator
são suportados.
Para obter mais detalhes, consulte Identificadores de conta para replicação e failover.
Pré-requisitos¶
Permita a replicação para um banco de dados primário em um conjunto de contas.
Crie pelo menos um banco de dados secundário (ou seja, réplica) do banco de dados primário em uma ou mais das contas especificadas na Etapa 1 e atualize regularmente (ou seja, sincronize) a réplica com as últimas atualizações do banco de dados primário.
Para obter instruções, consulte Replicação de bancos de dados em várias contas.
Etapa 1: visualizar todas as contas habilitadas para replicação¶
Consulte SHOW REPLICATION ACCOUNTS para ver a lista de contas em sua organização nas quais a replicação foi habilitada.
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 |
+------------------+---------------------------------+---------------+------------------+---------+-------------------+
Consulte a lista completa de IDs de região.
Etapa 2: habilitar o failover para um banco de dados primário¶
Nota
Pule esta etapa se você habilitou o failover para este banco de dados primário em Replicação de bancos de dados em várias contas.
Habilite o failover para um banco de dados primário para uma ou mais contas em sua organização usando uma instrução ALTER DATABASE … ENABLE FAILOVER TO ACCOUNTS. A réplica deste banco de dados primário em qualquer uma destas contas (ou seja, um banco de dados secundário) pode ser promovida para servir como banco de dados primário.
Note que a habilitação de failover para um banco de dados primário pode ser feita antes de ou após uma réplica do banco de dados primário ter sido criada em uma conta especificada.
Exemplo¶
Habilite o failover para o banco de dados primário mydb1
para as contas myaccount2
e myaccount3
. Neste exemplo, suponha que o banco de dados primário esteja armazenado na conta myaccount1
e todas as três contas pertençam à organização myorg
. O comando ALTER DATABASE deve ser executado a partir de myaccount1
.
ALTER DATABASE mydb1 ENABLE FAILOVER TO ACCOUNTS myorg.myaccount2, myorg.myaccount3;
Etapa 3: promover um banco de dados de réplica para servir como banco de dados primário¶
Qualquer réplica de um banco de dados primário pode ser promovida para servir como banco de dados primário executando uma instrução ALTER DATABASE … PRIMARY. Quando promovido, o banco de dados se torna gravável. Ao mesmo tempo, o banco de dados primário anterior torna-se um banco de dados de réplica somente leitura.
Execute a instrução ALTER DATABASE
na conta que contém o banco de dados secundário que você está promovendo.
Nota
Para promover um banco de dados secundário, a função utilizada para realizar a operação deve ter o privilégio OWNERSHIP sobre o banco de dados.
Exemplo¶
-- 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;