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:
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. |
|
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:
|
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:
|
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
Para uma implantação do RDS, use |
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:
|
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:
|
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:
|
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. |