A stream pode incorrer em erros durante o tempo de execução.
- Alguns erros, como uma palavra-passe incorreta na base de dados de origem, são recuperáveis, o que significa que podem ser corrigidos e a stream é retomada automaticamente.
- Os erros podem afetar um único objeto, como um evento que contenha tipos de dados não suportados. Outros erros podem afetar vários objetos ou toda a stream, como quando o Datastream não consegue estabelecer ligação à base de dados de origem.
- Consoante o erro, são fornecidas informações nas páginas Streams ou Detalhes da stream da IU da stream de dados. Também pode usar as APIs do Datastream para aceder a informações sobre o erro.
Para resolver um erro, navegue para a stream para ver o erro e siga os passos descritos na mensagem de erro.
Esta página contém informações sobre erros de configuração, conetividade, Oracle e MySQL, juntamente com passos para resolver os erros.
Erros de configuração e conetividade
Erro | Passos de resolução de problemas |
---|---|
Falha ao estabelecer ligação à base de dados de origem (genérica). | Isto pode acontecer por vários motivos. Para resolver este erro:
A stream é retomada automaticamente. |
Falha ao estabelecer ligação à base de dados de origem (lista de autorizações de IPs). | Isto pode acontecer se o método de conetividade escolhido for lista de autorizações de IPs, mas um ou mais dos endereços IP de saída do fluxo de dados não forem adicionados corretamente na base de dados de origem. Certifique-se de que os endereços IP de saída apresentados no perfil de ligação do fluxo de dados estão configurados na firewall de rede para que o servidor da base de dados de origem possa aceitar ligações a partir destes endereços IP. Depois de corrigir o problema, a stream é retomada automaticamente. |
Falha ao estabelecer ligação à base de dados de origem (encaminhar túnel SSH). | Isto pode acontecer se houver um problema com o túnel SSH de encaminhamento. Verifique o estado do túnel. Se o túnel estiver parado, tem de ser iniciado. Depois de corrigir o problema, a stream é retomada automaticamente. |
O fluxo de dados não consegue estabelecer ligação a um anfitrião bastion através de um túnel SSH encaminhado. | Verifique se a configuração do túnel SSH de encaminhamento está configurada corretamente no perfil de ligação de origem e se a porta está aberta no servidor do túnel SSH. |
Falha ao estabelecer ligação à base de dados de origem devido a certificados inválidos. | Isto pode acontecer se houver um problema com os certificados fornecidos ao definir o perfil de ligação de origem. Navegue para a página Perfis de associação e, de seguida, selecione o perfil de associação indicado. Verifique se os certificados estão configurados corretamente. Depois de fazer as alterações, guarde o perfil de ligação e a transmissão é retomada automaticamente. |
Falha ao usar a conetividade privada para estabelecer ligação à base de dados de origem. | Este erro diz respeito ao método de conetividade privada do intercâmbio da VPC.
|
Falha ao usar a interface do Private Service Connect para estabelecer ligação à base de dados de origem. |
|
O tipo de conetividade STATIC_SERVICE_IP_CONNECTIVITY não é permitido enquanto as restrições da política da organização/datastream.disablePublicConnectivity estiverem ativadas. | Selecionou os métodos de conetividade de rede lista de autorizações de IPs públicos ou túnel SSH encaminhado para o perfil de ligação que está a criar. No entanto, a política organizacional Bloquear métodos de conetividade pública para o fluxo de dados está ativada. Por conseguinte, não pode selecionar métodos de conetividade públicos para o seu perfil de ligação. Para resolver este problema, selecione o método de conetividade de rede de intercâmbio da VPC privado ou interfaces do Private Service Connect, ou desative a política da organização. Para desativar a política da organização:
|
Quando configuro a base de dados de origem para a minha stream, não consigo encontrar as tabelas e os esquemas que quero transferir na lista de objetos a incluir. | Isto pode acontecer se a sua base de dados tiver milhares de tabelas e esquemas. Alguns deles podem não estar incluídos na lista de objetos a extrair quando configura a origem para a stream na Google Cloud consola. Em vez de selecionar Esquemas e tabelas específicos na secção Selecionar objetos a incluir, selecione Personalizado. No campo Critérios de correspondência de objetos, introduza os esquemas e as tabelas que quer que o Datastream extraia. |
Adicionei várias tabelas à minha stream através do menu Objetos a incluir. No entanto, quando consulto o separador Objetos em Detalhes da stream, vejo que faltam algumas tabelas. | Certifique-se de que existe, pelo menos, uma atualização de CDC em cada uma destas tabelas para que o Datastream possa reconhecer as alterações e incluir automaticamente as tabelas na stream. |
Falha ao carregar a lista de objetos quando usa o menu Objetos a incluir na Google Cloud consola. | Isto pode acontecer se a sua base de dados tiver mais de 5000 esquemas e tabelas. Use um método diferente para especificar os objetos a incluir ou use a API Datastream. Para mais informações, consulte o artigo Configure bases de dados de origem. |
Eventos ignorados durante o streaming e não replicados no destino. | A stream de dados pode ignorar eventos não suportados durante o streaming. Pode realizar as seguintes ações para resolver o problema:
|
Tempo limite excedido ao tentar estabelecer ligação à origem de dados. Certifique-se de que a configuração do nome do anfitrião e da porta está correta e que a origem de dados está acessível. | Uma vez que não é possível estabelecer uma relação de peering direta entre a rede do Datastream e uma rede de serviços privados (por exemplo, uma instância do Cloud SQL) quando usa o peering de VPC, tem de usar uma VM de tradução de endereços de rede (NAT) para estabelecer a conetividade entre o Datastream e o seu recurso. Para mais informações sobre como configurar uma VM NAT, consulte o artigo Configure o peering de VPC. |
O esquema do objeto OBJECT_NAME é demasiado grande para o Datastream processar. | O fluxo de dados não suporta a replicação de eventos com esquemas de origem correspondentes superiores a 2 621 440 carateres Unicode. Estes eventos são ignorados com o seguinte código de motivo: UNSUPPORTED_LARGE_SCHEMA . É recomendável excluir algumas das colunas ou mudar o nome das mesmas. Em alternativa, pode excluir o objeto com o esquema grande. |
O estado da stream foi alterado. | Embora possa haver mais do que um motivo para a ocorrência deste erro, um problema subjacente comum é a configuração de origem inválida. Se a stream não for iniciada com esta mensagem de erro, verifique a configuração da origem quanto a chaves ou nomes de tabelas duplicados, inconsistências de dados ou conflitos de esquemas. Muitos dos problemas podem ser resolvidos editando as definições da stream com falhas diretamente na Google Cloud consola e ajustando as entradas de objetos incluídos e excluídos. Para mais informações, consulte o artigo Modifique as informações de configuração acerca da base de dados de origem. |
Erros da Oracle
Erro | Passos de resolução de problemas |
---|---|
O registo suplementar está configurado incorretamente na base de dados de origem. | Pode ocorrer um erro ao obter dados de captura de dados de alterações (CDC) em curso se a configuração do registo suplementar não estiver correta na base de dados de origem. Verifique se o registo suplementar está configurado corretamente. Em concreto, confirme que o registo suplementar está ativado para as tabelas da base de dados que estão a ser transmitidas a partir da origem para o destino. A stream é retomada automaticamente. |
Não é possível retomar a replicação porque a posição do registo foi perdida. | Este erro pode ocorrer quando o processo de replicação é pausado durante muito tempo, o que faz com que a posição do registo seja perdida. As streams não devem ser pausadas durante períodos de tempo que se aproximem do período de retenção de registos. Recrie a stream. |
Os ficheiros de registo estão em falta, parcial ou totalmente. | Os ficheiros de registo podem ter sido eliminados. A Oracle limpa os ficheiros de registo assim que
possível, a menos que especifique um período de rotação mínimo para os manter.
No servidor Oracle, defina durante quanto tempo os ficheiros de registo devem ser retidos. Por exemplo, use
Para uma implementação do RDS, use |
A lista de exclusão substitui a lista de inclusão. | A lista de inclusão está totalmente contida na lista de exclusão, pelo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e, em seguida, tente novamente. |
O modo de registo da base de dados Oracle não está definido como ARCHIVELOG. | Altere o modo de registo e, em seguida, tente novamente. |
O fluxo de dados devolve uma mensagem de erro ORA-00942: table or view does not exist , mas tudo está configurado corretamente. |
Isto pode ser o resultado do armazenamento em cache no servidor Oracle. A recriação do utilizador da base de dados deve corrigir o problema de colocação em cache. |
As alterações a uma origem Oracle não são refletidas no destino quando a stream já está em execução. | Se usar o LogMiner como método de CDC, o Datastream lê a partir de ficheiros de registo de refazer arquivados. Nesse caso, as alterações que fizer à origem não são refletidas no destino até o registo ser arquivado. Para ver as alterações no destino, altere o método de CDC para leitor de registos binários, altere a política de arquivo de registos ou force manualmente uma mudança de registo. Para mais informações, consulte o artigo Trabalhe com ficheiros de registo de refazer da base de dados Oracle. |
Falha na validação da configuração da CDC da Oracle. | Selecionou um método de CDC para o qual a base de dados de origem não foi configurada. Selecione um método diferente ou conclua a configuração do seu método de CDC. Para mais detalhes, consulte o artigo Configure uma base de dados Oracle de origem. |
Ocorreu um erro interno inesperado. | Para mais detalhes, contacte o Apoio técnico da Google. |
Erros do MySQL
Erro | Passos de resolução de problemas |
---|---|
O registo binário está configurado incorretamente na base de dados de origem. | Isto pode acontecer para streams contínuas do MySQL se a configuração do binlog estiver incorreta na base de dados de origem. Para resolver este erro, realize as seguintes ações:
|
Não é possível retomar a replicação porque a posição do registo binário foi perdida. | Este erro pode ocorrer quando o processo de replicação é pausado durante muito tempo, o que faz com que a posição do binlog seja perdida. As streams não devem ser pausadas durante períodos de tempo que se aproximem do período de retenção do binlog. Recrie a stream. |
Falha na execução da stream devido a versões de base de dados de origem e de destino incompatíveis. | Isto pode acontecer quando a base de dados de origem não cumpre a matriz de compatibilidade de versões. Para resolver este erro, realize as seguintes ações:
|
Os registos binários da origem do MySQL do AWS RDS estão em falta, parcial ou totalmente. | Os registos binários podem ter sido eliminados. O AWS RDS limpa os binlogs assim que
pode, a menos que especifique um período de rotação mínimo para os manter.
Na instância do AWS RDS MySQL de origem,
defina durante quanto tempo, em horas, os binlogs devem ser retidos. Por exemplo, use
mysql.rds_set_configuration('binlog retention hours', 168);
para manter os registos binários durante, pelo menos, 7 dias. |
A lista de exclusão substitui a lista de inclusão. | A lista de inclusão está totalmente contida na lista de exclusão, pelo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e, em seguida, tente novamente. |
O fluxo de dados não pode replicar uma base de dados MySQL. | Certifique-se de que o Datastream tem autorizações para replicar a base de dados. |
Quando cria um perfil de associação para uma origem MySQL, não são aceites vários certificados SSL codificados em PEM no menu Tipo de encriptação. | O Datastream não suporta cadeias de certificados SSL em perfis de ligação do MySQL. Apenas são suportados certificados únicos codificados em PEM x509. |
Latência elevada ao fazer stream a partir de uma origem do MySQL. | Aumente a capacidade do fluxo de dados de ler a partir da base de dados de origem:
|
Falha na validação da configuração de CDC do MySQL. | A base de dados de origem não foi configurada para o método de CDC que selecionou. Selecione um método diferente ou conclua a configuração do seu método de CDC. Para mais detalhes, consulte o artigo Configure uma base de dados MySQL de origem. |
Ocorreu um erro interno inesperado. | Para mais detalhes, contacte o Apoio técnico da Google. |
Erros do PostgreSQL
Erro | Passos de resolução de problemas |
---|---|
A descodificação lógica está configurada incorretamente na base de dados de origem. | Verifique se a descodificação lógica está configurada corretamente. Consulte o artigo Configure uma base de dados PostgreSQL de origem. |
O espaço de replicação não existe. | Pode ocorrer um erro ao obter dados de captura de dados de alterações (CDC) em curso se o espaço de replicação não existir na base de dados. Verifique se o espaço de replicação está configurado corretamente. Consulte o artigo Configure uma base de dados PostgreSQL de origem. |
O espaço de replicação está configurado com um plugin incorreto. | Este erro pode ocorrer se o espaço de replicação estiver configurado com um plug-in diferente de pgoutput . Verifique se o espaço de replicação está configurado corretamente. Consulte o artigo Base de dados PostgreSQL de origem para mais informações. |
O espaço de replicação está ativo num processo diferente. | Este erro pode ocorrer quando o espaço de replicação está a ser usado por outro processo. Os espaços de replicação só podem ser usados por um único processo de cada vez. Certifique-se de que não usa o mesmo espaço de replicação noutro processo, exceto no Datastream. |
A publicação não está configurada corretamente. | Este erro pode ocorrer quando a publicação não está configurada para expor as tabelas incluídas na configuração da stream. Verifique se a publicação está configurada corretamente. Consulte o artigo Configure informações sobre a base de dados de origem para a stream. |
A publicação não existe. | Este erro pode ocorrer se a publicação não existir na base de dados. Verifique se a publicação está configurada corretamente. Consulte o artigo Configure uma base de dados PostgreSQL de origem. |
Não é possível retomar a replicação, uma vez que os ficheiros WAL foram perdidos. | Este erro pode ocorrer quando o processo de replicação é pausado durante muito tempo, o que faz com que os ficheiros WAL sejam perdidos. As streams não devem ser pausadas durante períodos que se aproximem do período de retenção dos ficheiros WAL. Recrie a stream. |
A lista de exclusão substitui a lista de inclusão. | A lista de inclusão está totalmente contida na lista de exclusão, pelo que a lista de objetos que o Datastream extrai da origem está vazia. Modifique a seleção de objetos e, em seguida, tente novamente. |
O fluxo de dados não consegue replicar um esquema do PostgreSQL. | Certifique-se de que o Datastream tem autorizações para replicar o esquema. |
As transações grandes na base de dados de origem causam problemas com a replicação e a sincronização de dados. | Se inserir, atualizar ou eliminar um número significativo de registos na base de dados de origem, o espaço de replicação pode ficar sobrecarregado com os eventos correspondentes. A stream de dados precisa de tempo para ler e processar estes eventos. Uma vez que os slots de replicação do PostgreSQL são de thread único, o processamento de outras alterações no slot de replicação, incluindo alterações aos dados noutras tabelas, é atrasado até o Datastream acompanhar todas as alterações no slot de replicação. |
As transações grandes na base de dados de origem causam um baixo débito de CDC. | O Datastream não suporta CDC com várias linhas de execução no PostgreSQL. Para ultrapassar esta limitação e aumentar o débito de CDC, pode dividir a origem em vários fluxos, cada um com a sua própria publicação e slot de replicação. Por exemplo, pode querer criar uma stream para a maior tabela na sua base de dados e outra para todas as outras tabelas, ou uma stream para as tabelas de prioridade máxima e outra para as restantes. Os exemplos de utilização podem variar, pelo que tem de considerar o que faz mais sentido no seu cenário de CDC específico. Para obter informações sobre como criar uma publicação, consulte o artigo Configure uma base de dados PostgreSQL de origem. |
Eventos não suportados ignorados com o código do motivo: BIGQUERY_TOO_MANY_PRIMARY_KEYS . |
Quando a identidade da réplica do PostgreSQL para uma tabela está definida como FULL , o Datastream trata todas as colunas nesta tabela como chaves primárias. Se existirem mais de 16 colunas na tabela, isto viola a limitação da CDC do BigQuery e causa o erro. Para resolver o problema, conclua os seguintes passos:
|
Ocorreu um erro interno inesperado. | Para mais detalhes, contacte o Apoio técnico da Google. |
Erros do SQL Server
Erro | Passos de resolução de problemas |
---|---|
A CDC está desativada para a base de dados DATABASE_NAME. | A captura de dados de alterações (CDC) tem de estar ativada para a base de dados. O fluxo de dados precisa de acesso direto de leitura aos registos de transações para replicar as alterações em tempo real na base de dados de origem e obter informações completas dos registos. Ative a CDC para a base de dados e tente novamente. Para ver informações sobre como ativar a CDC para uma base de dados, consulte o artigo Configure uma base de dados do SQL Server de origem. |
Tabelas com CDC desativado. | A captura de dados de alterações (CDC) tem de estar ativada para todas as tabelas incluídas na stream. O fluxo de dados precisa de acesso de leitura direto aos registos de transações para replicar as alterações em tempo real nas tabelas de origem e obter informações completas dos registos. Ative a CDC para as tabelas incluídas na stream e tente novamente. Para informações sobre como ativar a CDC para tabelas de origem, consulte o artigo Configure uma base de dados SQL Server de origem. |
Autorizações em falta. | A stream de dados não tem as autorizações necessárias para ler a partir da origem. Conceda os privilégios adequados à conta de utilizador usada para estabelecer ligação à sua base de dados e tente novamente. |
A edição do SQL Server EDITION_NAME não é suportada. | A stream de dados não suporta esta edição do SQL Server. Para mais informações sobre as edições suportadas do SQL Server, consulte o artigo Vista geral do SQL Server como origem. |
A versão VERSION_NAME do SQL Server da edição Standard não é suportada. | O Datastream não suporta esta versão da edição Standard do SQL Server. Para mais informações sobre as versões suportadas do SQL Server, consulte o artigo Vista geral do SQL Server como origem. |
A stream não consegue ler o evento no LSN "YOUR_LSN" porque o registo de transações parece estar truncado. | Este problema pode ocorrer quando os registos de transações já não existem na base de dados de origem. Quando replica dados de uma origem do SQL Server através do método CDC de registos de transações, os registos podem ser truncados antes de o Datastream os ler. Quando isso acontece, o Datastream não consegue replicar de forma fiável a base de dados de origem para o destino. Para resolver o problema, recupere a sua stream ou considere usar o método CDC de tabelas de alterações. Para mais informações sobre as diferenças entre os dois métodos, consulte o artigo Vista geral do SQL Server como origem. |
Configuração de CDC do SQL Server: falhou. | O método de CDC que selecionou não está em conformidade com a configuração da base de dados. Altere o método de CDC e tente novamente. |
Erros do Salesforce
Erro | Passos de resolução de problemas |
---|---|
Autorizações insuficientes. | O utilizador da app associada ou da app cliente externa que configurou para autenticar a associação entre a sua organização do Salesforce e o Datastream não tem autorizações suficientes para aceder aos dados que quer replicar. Certifique-se de que configurou corretamente a origem do Salesforce. Para mais informações, consulte o artigo Configure uma origem do Salesforce. |
API Bulk 2.0 desativada. | A API Bulk 2.0 está ativada por predefinição para as edições Performance, Unlimited, Enterprise e Developer. Esta mensagem de erro indica que a API está desativada na sua edição ou que as credenciais que usa não têm autorizações suficientes. Certifique-se de que o perfil de utilizador que usa tem a autorização |
Excedeu o limite. | Excedeu o limite de consultas da API Salesforce. Esta mensagem é apresentada quando atinge 90% da sua quota de limite da API. Nesse caso, o fluxo de dados volta a tentar a operação mais tarde. Recomendamos que considere aumentar a sua quota da API Salesforce. |
Limite de eliminações excedido. | Quando consulta registos eliminados, o Salesforce limita a resposta a 600 000 identificadores de registos. A granularidade de consulta mais baixa no Salesforce é de um minuto e, se eliminar mais de 600 000 registos num minuto, o Salesforce devolve este erro. |
Erro de autenticação. | O fluxo de dados não consegue autenticar com o Salesforce. Provavelmente, usou as credenciais ou o nome do domínio incorretos. |
Erros do MongoDB
Erro | Passos de resolução de problemas |
---|---|
Falha na autenticação. | Verifique se o authSource do utilizador do fluxo de dados
é admin . O utilizador da stream de dados tem de ser criado na base de dados admin . Esta base de dados é uma base de dados privilegiada que permite aos utilizadores executar determinados comandos administrativos. |
Falha ao iniciar sessão na base de dados. | Verifique o seu nome de utilizador e palavra-passe e tente novamente. Além disso, certifique-se de que a sua conta de utilizador foi criada na base de dados admin . Se o problema persistir, é possível que a sua conta de utilizador tenha sido eliminada ou criada incorretamente. |
A lista de objetos excluídos é inválida: {exclude_list} . |
Especifique os objetos excluídos no seguinte formato: DATABASE_NAME.COLLECTION_NAME.FIELD_NAME.NESTED_FIELD_NAME com carateres universais opcionais. Exemplos válidos: db.* , database.collection.* , database.*.field.* . |
Não temos as autorizações necessárias para ler a partir da origem. | Atribua a função readAnyDatabase ao utilizador e tente novamente. |
A versão VERSION_NAME do MongoDB não é suportada. | Use a versão 5.0 ou superior. |
A stream de dados não conseguiu executar o comando buildinfo para determinar a versão do MongoDB. |
Certifique-se de que o utilizador tem as autorizações necessárias para executar o comando buildinfo e tente novamente. Para mais informações acerca das autorizações necessárias, consulte o artigo Configure uma base de dados MongoDB. |
A ligação ao cluster do MongoDB excedeu o tempo limite. | Certifique-se de que facultou o nome do anfitrião e as credenciais corretos e tente novamente. |
Não é possível ler os dados necessários devido a autorizações insuficientes. | Atribua a função readAnyDatabase à conta usada para estabelecer ligação ao cluster do MongoDB e tente novamente. |
A conta de utilizador usada para estabelecer ligação ao seu cluster do MongoDB não existe. | Crie a conta de utilizador e tente novamente. |
Não foi possível estabelecer ligação através das informações facultadas. | Verifique se está a usar o formato de ligação correto (SRV ou Standard) e se incluiu todas as informações necessárias (como os nomes dos conjuntos de réplicas para a string de ligação do conjunto de réplicas). Para mais informações, consulte o artigo Crie um perfil de associação para uma base de dados MongoDB. |
Ocorreu uma exceção do MongoDB. Mensagem de erro da fonte: {source_error} . |
Se a mensagem de erro de origem não for clara, contacte o apoio técnico da Google. |
Erros do BigQuery
Erro | Passos de resoluçã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 for alterada na origem, tem de eliminar a tabela no BigQuery e iniciar novamente o preenchimento. Esta é uma limitação do BigQuery, porque não existe forma de garantir a união correta de novos eventos com linhas existentes se a chave primária for diferente. Para mais informações, consulte o artigo Configure um destino do BigQuery. |
A tabela do BigQuery de destino tem significativamente mais registos do que a tabela de origem. | Isto pode acontecer quando a tabela de origem não tem uma chave primária. Nesse caso, o Datastream processa a tabela no modo de escrita apenas de anexação, e cada evento de uma determinada linha aparece como uma linha separada no BigQuery. |
Os dados são duplicados quando faz o preenchimento em modo de escrita Apenas anexar. | Quando seleciona o modo de escrita Apenas anexar para a sua stream, os dados são anexados no BigQuery como uma stream de eventos SELECT * FROM (SELECT *, row_number() OVER (PARTITION BY datastream_metadata.uuid) AS num FROM TABLE_NAME) WHERE num=1
|
O Datastream está configurado para o modo de escrita de união, mas as alterações não são unidas no BigQuery. | Verifique se existe uma chave principal na tabela de origem. O BigQuery precisa desta informação para unir as alterações à tabela de destino. Se não existir uma chave principal, considere adicionar uma na tabela de origem ou de destino. Para adicionar uma chave primária na tabela de destino do BigQuery, siga estes passos:
|
Não é possível adicionar uma chave principal, remover uma chave principal nem alterar a definição da chave principal de uma tabela que já tenha sido replicada para o BigQuery. | Por predefinição, o Datastream não suporta a adição de uma chave primária a uma tabela que já foi replicada para o BigQuery sem uma chave primária, nem a remoção de uma chave primária de uma tabela que foi replicada para o BigQuery com uma chave primária. No entanto, pode alterar a definição da chave primária de uma tabela de origem replicada para o BigQuery que já tenha uma chave primária:
|
O que se segue?
- Para saber como procurar potenciais problemas com a sua stream, consulte o artigo Resolva problemas de uma stream.
- Para saber como configurar a base de dados de origem, consulte o artigo Origens.
- Para saber como configurar o destino do BigQuery ou do Cloud Storage, consulte o artigo Destinos.