Recuperar uma transmissão

É possível recuperar uma transmissão que falhou permanentemente sem precisar criar uma nova. Para fazer isso, especifique a posição em que o Datastream tenta retomar a leitura das mudanças da origem.

Visão geral da recuperação de stream

Um stream em execução pode encontrar alguns erros irrecuperáveis e mudar seu estado para FAILED_PERMANENTLY: Esses erros impedem que o stream continue sendo executado e podem causar perda de dados.

Para recuperar uma transmissão com falha permanente, configure-a para ignorar o erro e continue lendo os eventos em andamento em vez de recriar o stream e preencher os dados históricos. Para recuperar um fluxo com falha permanente, redefina a replicação para começar a leitura em uma posição diferente. Cada tipo de origem com suporte tem uma definição própria de posição de replicação:

  • Para origens Oracle, uma posição de replicação é um arquivo de redo log. no banco de dados e no número de alteração do sistema (SCN, na sigla em inglês) nesse arquivo.
  • Para fontes MySQL, uma posição de replicação é o registro binário do banco de dados (binlog) e a posição nesse arquivo.
  • Para origens do SQL Server, uma posição de replicação é o número da sequência do registro (LSN, na sigla em inglês) nos registros de transação ou nas tabelas de mudança.
  • Para fontes PostgreSQL (incluindo AlloyDB para PostgreSQL), uma posição de replicação é o número de sequência de registro (LSN, na sigla em inglês) no slot de replicação. Durante a recuperação, o stream começa a ler a partir do primeiro LSN no slot de replicação.

Recuperar um stream de uma origem do MySQL ou do Oracle

Para recuperar um stream de uma origem MySQL ou Oracle, você tem as seguintes opções:

  • Tentar novamente na posição atual (recomendado): selecione essa opção para tenta transmitir da posição atual em que houve falha na última vez. Primeiro, corrija o arquivo de registro ou recupere-o do backup. Esta é a é a opção recomendada.

  • Pular a posição atual e transmitir na próxima posição disponível: se um ou mais arquivos de registro estiverem faltando, selecione esta opção para ignorar esses arquivos e retome o streaming na primeira posição no arquivo seguinte disponível. O as alterações dos arquivos de registro ausentes são perdidas, mas você pode recuperá-las executar um preenchimento.

  • Pular a posição atual e transmitir da posição mais recente: se um ou mais arquivos de registro estiverem faltando, selecione esta opção para ignorar esses arquivos e retomar o streaming da posição mais recente no arquivo de registro mais atualizado. As mudanças dos arquivos de registro ausentes são perdidas, mas podem ser recuperadas com a execução de um preenchimento.

  • Retomar na posição e no arquivo de streaming de sua preferência: selecione essa opção. para retomar o stream em um arquivo e em uma posição de registro específicos. Algumas mudanças podem ser perdidas se a posição do registro especificada não se sobrepuser ou não seguir imediatamente a posição perdida. É possível recuperar essas alterações realizando um preenchimento.

Para recuperar um fluxo com falha permanente de uma origem MySQL ou Oracle, siga estas etapas:

  1. Acesse a página Streams no Google Cloud.

    Acessar a página "Mural"

  2. Clique em Recuperar na linha com o nome do stream que você quer recuperar.

  3. O painel Escolha uma estratégia de recuperação será aberto. Selecione uma opção. Se você selecionar Retomar na posição e no arquivo de streaming de sua preferência, digite o seguinte:

    • Para uma origem do MySQL: o nome do arquivo do registro no campo Nome do arquivo e a posição do registro no campo Posição. Se você não especificar a posição, a transmissão será retomada. da primeira posição no arquivo de registro indicado.
    • Para uma origem do Oracle: o número de alteração do sistema (SCN) no campo Número de alteração do sistema (SCN). Este campo é obrigatório.
  4. Clique em Aplicar.

  5. Quando o stream é recuperado, um carimbo de data/hora aparece na coluna Recuperado na página Streams.

Recuperar um stream de uma origem do PostgreSQL

Para recuperar um stream de uma origem do PostgreSQL, é necessário fornecer o nome do slot de replicação. O servidor usa esse slot de replicação para enviar eventos ao Datastream. O nome do slot de replicação pode ser o mesmo do slot usado para o stream com falha ou diferente:

  • Se o novo slot tiver outro nome, forneça a nova replicação para o Datastream.
  • Se você não informar um nome para o slot de replicação, o Datastream vai usar o do slot de replicação especificado na configuração de origem.

    Para mais informações sobre slots de replicação, consulte Configurar um banco de dados PostgreSQL de origem.

Qualquer evento de alteração na origem que ocorreu entre a perda de posição do registro e o primeiro LSN do novo slot de replicação será perdido. Você pode recuperar essas mudanças com um preenchimento.

Para recuperar um fluxo com falha permanente de uma origem do PostgreSQL, siga estas etapas:

  1. Acesse a página Streams no Google Cloud.

    Acessar a página "Mural"

  2. Clique em Recuperar na linha com o nome do stream que você quer recuperar.

  3. O painel Definir um novo slot de replicação será aberto.

  4. No campo Nome do slot de replicação, forneça o nome de um novo slot de replicação do qual o stream vai tentar se recuperar. Se você tiver recriado a replicação com o mesmo nome ou reutilizar o especificado ao configurou sua origem, deixe este campo em branco.

  5. Clique em Aplicar.

  6. Quando a transmissão é recuperada, um carimbo de data/hora aparece na coluna Recuperado na página Transmissões.

Também é possível recuperar transmissões que falharam permanentemente na seção Detalhes da transmissão. página. Para fazer isso, clique em Recuperar transmissão ao conferir informações detalhadas sobre a transmissão.

Recuperar uma transmissão de uma origem do SQL Server

Para recuperar um stream de uma origem do SQL Server, você tem as seguintes opções:

  • Retomar na primeira posição disponível: selecione esta opção se o registro tiver sido truncado ou com alguns registros faltando nas tabelas de alterações e quiser retomar desde o primeiro evento disponível. Os eventos ausentes são perdidos, mas você pode recuperá-los fazendo um preenchimento.

  • Retomar usando seu número de sequência de registro (LSN, na sigla em inglês) preferido: selecione essa opção para retome o fluxo de um LSN específico nos registros de transações ou nas tabelas de alterações. Alguns eventos poderão ser perdidos se o LSN especificado não se sobrepuser ou não for imediatamente siga o último LSN que o Datastream conseguiu recuperar. É possível recuperar esses eventos realizando um preenchimento.

    O LSN nos registros de transação e nas tabelas de mudança contém 20 caracteres hexadecimais, mas, para registros de transação, ele é separado por um delimitador. Exemplo:

    • LSN nos registros de transações: 0000123C:0000BA78:0004
    • LSN em tabelas de mudança: 0000123C0000BA780004

Para recuperar uma transmissão com falha permanente de uma origem do SQL Server, siga estas etapas:

  1. Acesse a página Streams no Google Cloud.

    Acessar a página "Mural"

  2. Clique em Recuperar na linha com o nome do stream que você quer recuperar.

  3. O painel Escolher uma estratégia de recuperação é aberto. Selecione uma opção.

  4. Clique em Aplicar.

  5. Quando a transmissão é recuperada, um carimbo de data/hora aparece na coluna Recuperado na página Transmissões.

Usar a recuperação de stream para uma origem do MySQL em um cenário de failover manual

É possível executar um failover manual e usar a recuperação de stream para evitar recriar sua os fluxos do zero durante a manutenção ou falha na instância principal. Geralmente, o Datastream não aceita failovers para réplicas porque eles quebram a continuidade do binlog, mas você pode seguir estas etapas para recuperar os e garantir que seus dados de mudança sejam capturados:

  1. Interrompa todas as gravações na instância principal.
  2. Verifique se a métrica de atualização de dados está definida como 0. Isso significa que o Datastream capturou todas as alterações e não há novos eventos para ler da origem. Para Saiba mais em Monitorar um stream.
  3. Faça o failover para a nova instância do banco de dados.
  4. Se necessário, atualize o perfil de conexão do fluxo para a nova instância do banco de dados. Por exemplo, talvez seja necessário mudar o nome do host ou o endereço IP do banco de dados. Para mais informações, consulte Modificar perfis de conexão.
  5. Recupere o stream de uma posição específica na instância de failover para garantir a continuidade da CDC.

A seguir