Diagnosticar problemas

Visão geral

O stream pode apresentar erros durante o tempo de execução.

  • Alguns erros, como uma senha incorreta no banco de dados de origem, são recuperáveis, o que significa que eles podem ser corrigidos e o stream é retomado automaticamente.
  • Os erros podem afetar um único objeto, como um evento que contém tipos de dados não compatíveis. Outros erros podem afetar vários objetos ou todo o stream (por exemplo, quando o Datastream não consegue se conectar ao banco de dados de origem).
  • Dependendo do erro, as informações são fornecidas nas páginas Streams ou Detalhes do stream na IU do Datastream. Também é possível usar as APIs do Datastream para recuperar informações sobre o erro.

Para resolver um problema, acesse o stream para ver o erro e siga as etapas descritas na mensagem de erro.

Esta página contém informações sobre erros de configuração, conectividade, Oracle e MySQL, além de etapas para solucionar os erros.

Erros de configuração e conectividade

Erro Etapas de solução de problemas
Falha ao se conectar ao banco de dados de origem (genérico).

Existem várias razões possíveis para isso. Para resolver esse erro, execute as seguintes ações:

  1. Verifique se o banco de dados de origem está ativo e acessível.
  2. Navegue até o perfil de conexão de origem nas páginas Streams ou Perfis de conexão.
  3. Verifique se as informações de conectividade do perfil de conexão estão corretas.
  4. Verifique se o nome de usuário e a senha correspondem.
  5. Verifique se o nome de usuário existe no banco de dados e se tem os privilégios necessários.
  6. Salve as alterações feitas na página Perfis de conexão.

O stream é retomado automaticamente.

Falha ao se conectar ao banco de dados de origem (lista de permissões de IP). Isso pode acontecer se o método de conectividade escolhido for Lista de permissões de IP, mas um ou mais endereços IP de saída do Datastream não forem adicionados corretamente no banco de dados de origem. Verifique se os endereços IP de saída exibidos no perfil de conexão do Datastream estão configurados no firewall de rede para que o servidor de banco de dados de origem possa aceitar conexões desses endereços IP. Depois que isso for corrigido, o stream será retomado automaticamente.
Falha ao se conectar ao banco de dados de origem (Encaminhar túnel SSH). Isso pode acontecer se houver um problema com o túnel SSH para encaminhamento. Verificar o status do túnel Se o túnel estiver parado, será necessário iniciá-lo. Depois que isso for corrigido, o stream será retomado automaticamente.
O Datastream não pode se conectar a um Bastion Host por um túnel SSH de encaminhamento. Verifique se a configuração do túnel SSH para encaminhamento está definida corretamente no perfil de conexão de origem e se a porta está aberta no servidor de túnel SSH.
Falha ao se conectar ao banco de dados de origem devido a certificados inválidos. Isso pode acontecer se houver um problema com os certificados fornecidos ao definir o perfil de conexão de origem. Navegue até a página Perfis de conexão e selecione o perfil de conexão fornecido. Verifique se os certificados estão configurados corretamente. Depois de fazer as alterações, salve o perfil de conexão, e o stream será retomado automaticamente.
Falha ao usar a conectividade privada para se conectar ao banco de dados de origem.
  1. Verifique se você atende a todos os pré-requisitos em Antes de começar.
  2. Depois de criar a configuração de conectividade particular, verifique se a rota que contém o endereço IP interno do banco de dados aparece na guia Rotas exportadas da página Peering de rede VPC.

    Para fazer isso, acesse a página Peering de rede VPC e pesquise o peering que foi adicionado (o nome é peering-[UUID]). A rota pode ser encontrada na guia Rotas exportadas. Se o trajeto não existir, adicione-o manualmente.

  3. O Datastream não verifica se há sobreposição com rotas de peering dinâmico. Fornecer uma sub-rede que se sobreponha a uma rota dinâmica pode causar problemas de conectividade. Portanto, não recomendamos usar uma sub-rede que faça parte de uma rota dinâmica.
  4. Verifique se as rotas personalizadas para intervalos de endereços IP do Datastream foram anunciadas corretamente. Se as rotas personalizadas estiverem ausentes, consulte o guia Divulgações de rota personalizadas.
  5. Se você ainda tiver problemas para se conectar ao banco de dados de origem, consulte Configurar um proxy reverso.
O tipo de conectividade STATIC_SERVICE_IP_CONNECTIVITY não é permitido enquanto a política da organização constraints/datastream.disablePublicConnectivity está ativada.

Você selecionou os métodos públicos de conectividade de rede da lista de permissões de IP ou do túnel SSH de encaminhamento para o perfil de conexão que está criando. No entanto, a política da organização Bloquear métodos de conectividade pública para o Datastream está ativada. Portanto, não é possível selecionar métodos de conectividade pública para seu perfil de conexão.

Para resolver esse problema, selecione o método de conectividade de rede do peering da VPC particular ou desative a política da organização.

Para desativar a política da organização:

  1. Acesse a página Políticas da organização no Console do Google Cloud.
  2. Selecione a política da organização Datastream: bloquear métodos de conectividade pública.
  3. Clique em EDITAR.

  4. Na seção Aplicável a, selecione Personalizar.
  5. Na seção Aplicação, selecione Desativada.

  6. Clique em Salvar.
  7. Volte para o perfil de conexão do Oracle que você está criando e clique em CRIAR.
Ao configurar o banco de dados de origem do meu stream, não consigo encontrar as tabelas e os esquemas que quero transferir na lista de objetos a incluir.

Isso pode acontecer se o seu banco de dados tiver milhares de tabelas e esquemas. Alguns deles podem não estar incluídos na lista de objetos que serão extraídos ao configurar a origem do stream no console do Google Cloud. Em vez de selecionar Esquemas e tabelas específicos na seção Selecionar objetos a serem incluídos, selecione Personalizado. No campo Critérios de correspondência do objeto, insira os esquemas e as tabelas que você quer que o Datastream extraia.

Adicionei várias tabelas ao meu stream usando o menu Objetos a serem incluídos. No entanto, ao analisar a guia Objetos em Detalhes do fluxo, percebo que estão faltando algumas tabelas. Verifique se há pelo menos uma atualização do CDC em cada uma dessas tabelas para que o Datastream reconheça as mudanças e as inclua automaticamente no stream.
Falha ao carregar a lista de objetos ao usar o menu Objetos a serem incluídos no console do Google Cloud. Isso pode acontecer se o seu banco de dados tiver mais de 5.000 esquemas e tabelas. Use um método diferente para especificar quais objetos incluir ou use a API Datastream. Para saber mais, consulte Configurar bancos de dados de origem.
Eventos descartados durante o streaming e não replicados no destino.

O Datastream pode descartar eventos incompatíveis durante o streaming. Você pode executar as seguintes ações para resolver o problema:

  • Acione manualmente um preenchimento de toda a tabela. Isso funciona se os eventos descartados forem apenas eventos UPSERT. Se os eventos descartados incluírem eventos DELETE, você precisará truncar a tabela no BigQuery antes de realizar o preenchimento.

    Para informações sobre como executar um preenchimento, consulte Iniciar preenchimento.

  • Entre em contato com o Suporte do Google e peça para fazer um preenchimento parcial. Isso só será possível se você conseguir identificar os eventos descartados com uma cláusula WHERE do SQL e se nenhum dos eventos for DELETE.
  • Ignore o problema se o número de eventos descartados for baixo ou se os eventos não forem significativos.

Erros do Oracle

Erro Etapas de solução de problemas
A geração de registros complementares está configurada incorretamente no banco de dados de origem.

Um erro ao buscar dados contínuos de captura de dados de alteração (CDC, na sigla em inglês) poderá acontecer se a configuração de geração de registros complementar não estiver correta no banco de dados de origem. Verifique se a geração de registros complementares está configurada corretamente. Especificamente, confirma se a geração de registros complementares está ativada nas tabelas do banco de dados que estão sendo transmitidas da origem para o destino. O stream é retomado automaticamente.

Não é possível retomar a replicação porque a posição do registro é perdida. Esse erro pode ocorrer quando o processo de replicação está pausado por muito tempo, o que faz com que a posição do registro seja perdida. Os streams não podem ser pausados por períodos que se aproximam do período de armazenamento de registros. Recrie o stream.
Os arquivos de registros estão faltando, parcial ou totalmente.

Os arquivos de registros podem ter sido excluídos. A Oracle limpa os arquivos de registro assim que possível, a menos que você especifique um período de rotação mínimo para mantê-los. No servidor Oracle, defina por quanto tempo os arquivos de registros serão retidos. Por exemplo, use CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS; para manter os arquivos de registros por pelo menos quatro dias.

Para uma implantação do RDS, use exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',96);.

A lista de exclusão inclui a lista de inclusão. A lista de inclusão está completamente dentro da lista de exclusão, de modo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e tente novamente.
O modo de geração de registros do banco de dados Oracle não está definido como ARCHIVELOG. Mude o modo de geração de registros e tente novamente.
O Datastream retorna uma mensagem de erro ORA-00942: table or view does not exist, mas tudo está configurado corretamente. Isso pode ser resultado do armazenamento em cache no servidor Oracle. Recriar o usuário do banco de dados deve corrigir o problema de armazenamento em cache.
As alterações em uma origem Oracle não são refletidas no destino quando o stream já está em execução. Como o Datastream lê arquivos redo log arquivados, as mudanças feitas na origem não são refletidas no destino até que o registro seja arquivado. Para acessar as alterações no destino, altere a política de arquivamento de registros ou force manualmente uma troca de registro. Para mais informações, consulte Trabalhar com arquivos redo log do banco de dados Oracle (em inglês).
Ocorreu um erro interno inesperado. Para mais detalhes, entre em contato com o Suporte do Google.

Erros do MySQL

Erro Etapas de solução de problemas
O Binlog foi configurado incorretamente no banco de dados de origem.

Isso pode acontecer em streams contínuos do MySQL se a configuração do binlog estiver incorreta no banco de dados de origem. Para resolver esse erro, execute as seguintes ações:

  1. Verifique se o binlog está configurado corretamente.
  2. Confirme se o formato de registro binário do banco de dados do MySQL está definido como ROW.
  3. Reinicie o stream.
Não é possível retomar a replicação porque a posição do binlog é perdida. Esse erro pode ocorrer quando o processo de replicação está pausado por muito tempo, o que faz com que a posição do binlog seja perdida. Os streams não podem ser pausados por períodos que se aproximam do período de armazenamento de binlog. Recrie o stream.
Falha ao executar o stream devido a versões incompatíveis do banco de dados de origem e do destino.

Isso pode acontecer quando o banco de dados de origem não segue a matriz de suporte da versão. Para resolver esse erro, execute as seguintes ações:

  1. Verifique se o banco de dados de origem está de acordo com a matriz.
  2. Recrie o stream com o banco de dados de origem atualizado.
Os binlogs de origem do AWS RDS do MySQL estão ausentes, parcial ou totalmente. Os binlogs podem ter sido excluídos. O AWS RDS limpa binlogs assim que possível, a menos que você especifique um período de rotação mínimo para mantê-los. Na instância do MySQL de origem do RDS da AWS, defina por quanto tempo, em horas, os binlogs devem ser retidos. Por exemplo, use mysql.rds_set_configuration('binlog retention hours', 168); para manter os binlogs por pelo menos sete dias.
A lista de exclusão inclui a lista de inclusão. A lista de inclusão está completamente dentro da lista de exclusão, de modo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e tente novamente.
O Datastream não pode replicar um banco de dados MySQL. Verifique se o Datastream tem permissões para replicar o banco de dados.
Ao criar um perfil de conexão para uma origem do MySQL, vários certificados SSL codificados em PEM não são aceitos no menu Tipo de criptografia. O Datastream não oferece suporte a cadeias de certificados SSL em perfis de conexão do MySQL. Só há suporte para certificados únicos e codificados por PEM x509.
Ocorreu um erro interno inesperado. Para mais detalhes, entre em contato com o Suporte do Google.

Erros do PostgreSQL

Erro Etapas da solução de problemas
A decodificação lógica está configurada incorretamente no banco de dados de origem.

Verifique se a decodificação lógica está configurada corretamente. Consulte Configurar um banco de dados PostgreSQL de origem.

O slot de replicação não existe Se o slot de replicação não existir no banco de dados, poderá ocorrer um erro na busca de dados em andamento na captura de dados alterados (CDC). Verifique se o slot de replicação está configurado corretamente. Consulte Configurar um banco de dados PostgreSQL de origem.
O slot de replicação foi configurado com um plug-in incorreto Esse erro poderá ocorrer se o slot de replicação estiver configurado com um plug-in diferente de pgoutput. Verifique se o slot de replicação está configurado corretamente. Consulte Banco de dados PostgreSQL de origem para mais informações.
O slot de replicação está ativo em um processo diferente. Esse erro pode ocorrer quando o slot de replicação está sendo usado por outro processo. Os slots de replicação só podem ser usados por um processo por vez. Não use o mesmo slot de replicação em nenhum outro processo, exceto no Datastream.
A publicação não foi configurada corretamente Esse erro pode ocorrer quando a publicação não está configurada para expor as tabelas incluídas na configuração do stream. Verifique se a publicação está configurada corretamente. Consulte Configurar informações sobre o banco de dados de origem do stream.
A publicação não existe. Esse erro poderá ocorrer se a publicação não existir no banco de dados. Verifique se a publicação está configurada corretamente. Consulte Configurar um banco de dados PostgreSQL de origem.
Não foi possível retomar a replicação porque os arquivos WAL foram perdidos. Esse erro pode ocorrer quando o processo de replicação é pausado por muito tempo, o que causa a perda dos arquivos WAL. Os streams não devem ser pausados por períodos próximos ao período de armazenamento de arquivos WAL. Recrie o stream.
A lista de exclusão inclui a lista de inclusão. A lista de inclusão está completamente dentro da lista de exclusão, de modo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e tente novamente.
O Datastream não pode replicar um esquema do PostgreSQL. Verifique se o Datastream tem permissões para replicar o esquema.
Grandes transações no banco de dados de origem causam problemas de replicação e sincronização de dados. Se você inserir, atualizar ou excluir um número significativo de registros no banco de dados de origem, o slot de replicação poderá ficar sobrecarregado com os eventos correspondentes. O Datastream precisa de tempo para ler e processar esses eventos. Como os slots de replicação do PostgreSQL têm uma linha de execução única, o processamento de outras alterações no slot de replicação, incluindo alterações em dados de outras tabelas, é atrasado até que o Datastream acompanhe todas as alterações no slot de replicação.
Transações grandes no banco de dados de origem causam baixa capacidade de processamento de CDC. O Datastream não oferece suporte a CDC com várias linhas de execução no PostgreSQL. Para superar essa limitação e aumentar sua capacidade de processamento de CDC, é possível dividir a origem em vários streams, cada um com o próprio slot de publicação e replicação. Por exemplo, talvez você queira criar um fluxo para a maior tabela do seu banco de dados e outro para todas as outras tabelas, ou um fluxo para suas tabelas de prioridade superior e outro para as demais. Os casos de uso podem variar. Portanto, é preciso considerar o que faz mais sentido no seu cenário de CDC específico. Para saber mais sobre como criar uma publicação, consulte Configurar um banco de dados PostgreSQL de origem.
Eventos incompatíveis descartados com o código de motivo: BIGQUERY_TOO_MANY_PRIMARY_KEYS. Quando a identidade de réplica do PostgreSQL para uma tabela é definida como FULL, o Datastream trata todas as colunas nessa tabela como chaves primárias. Se houver mais de 16 colunas na tabela, isso viola a limitação do CDC do BigQuery e causa o erro. Para resolver o problema, siga estas etapas:
  1. Altere a identidade da réplica para DEFAULT:
    
    ALTER TABLE TABLE_NAME REPLICA IDENTITY DEFAULT
    Substitua TABLE_NAME pelo nome da tabela em que você quer alterar a identidade da réplica.
  2. Remova a tabela da lista de objetos a serem incluídos no stream. Para saber mais, consulte Modificar informações de configuração sobre o banco de dados de origem.
  3. Exclua a tabela do BigQuery. Para mais informações, consulte Excluir tabelas.
  4. No Datastream, adicione a tabela ao stream novamente editando a configuração da origem.
Ocorreu um erro interno inesperado. Para mais detalhes, entre em contato com o Suporte do Google.

Erros do SQL Server

Erro Etapas da solução de problemas
O CDC está desativado no banco de dados DATABASE_NAME.

A captura de dados alterados (CDC) precisa estar ativada no banco de dados. O Datastream precisa de acesso direto de leitura aos registros de transação para replicar as alterações em tempo real no banco de dados de origem e receber informações de registro completas. Ative a CDC para o banco de dados e tente de novo.

Para informações sobre como ativar a CDC para um banco de dados, consulte Configurar um banco de dados de origem do SQL Server.

Tabelas com CDC desativado.

A captura de dados alterados (CDC) precisa estar ativada para todas as tabelas incluídas no stream. O Datastream precisa de acesso direto à leitura dos registros de transação para replicar as alterações em tempo real nas tabelas de origem e receber informações de registro completas. Ative a CDC para as tabelas incluídas no stream e tente de novo.

Para informações sobre como ativar a CDC para tabelas de origem, consulte Configurar um banco de dados de origem do SQL Server.

Permissões ausentes. O Datastream não tem as permissões necessárias para ler a origem. Conceda os privilégios apropriados à conta de usuário utilizada para se conectar ao seu banco de dados e tente novamente.
A edição EDITION_NAME do SQL Server não tem suporte. O Datastream não é compatível com esta edição do SQL Server. Para mais informações sobre edições compatíveis do SQL Server, consulte Visão geral do SQL Server como origem.
A versão VERSION_NAME do SQL Server da edição Standard não é compatível. O Datastream não é compatível com esta versão da edição SQL Server Standard. Para mais informações sobre as versões compatíveis do SQL Server, consulte Visão geral do SQL Server como origem.

Erros do BigQuery

Erro Etapas da solução de problemas
BIGQUERY_UNSUPPORTED_PRIMARY_KEY_CHANGE, details: Failed to write to BigQuery due to an unsupported primary key change: adding primary keys to existing tables is not supported. Se a chave primária mudar na origem, você precisará descartar a tabela no BigQuery e iniciar o preenchimento novamente. Essa é uma limitação do BigQuery, porque não há como garantir a mesclagem correta de novos eventos com linhas atuais se a chave primária for diferente. Para mais informações, consulte Configurar um destino do BigQuery.