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 resolver 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 serem incluídos. | Isso pode acontecer se o banco de dados tiver milhares de tabelas e esquemas. Alguns deles podem não ser incluídos na lista de objetos a serem 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 para incluir, selecione Personalizado. No campo Critérios de correspondência de objetos, insira os esquemas e as tabelas que você quer que o Datastream extraia. |
Adicionei várias tabelas ao meu stream usando o menu Objects to include. No entanto, quando olho para a guia Objects em Stream details, vejo que algumas tabelas estão faltando. | Verifique se há pelo menos uma atualização do CDC para cada uma dessas tabelas para que o Datastream possa reconhecer as mudanças e incluir as tabelas automaticamente no fluxo. |
Falha ao carregar a lista de objetos ao usar o menu Objects to include no console do Google Cloud. | Isso pode acontecer se o 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 mais informações, consulte Configurar bancos de dados de origem. |
Eventos descartados durante a transmissão e não replicados no destino. | O Datastream pode descartar eventos sem suporte durante o streaming. Você pode realizar 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. A recriação do usuário do banco de dados deve corrigir o problema de armazenamento em cache. |
As mudanças em uma origem do Oracle não são refletidas no destino quando o stream já está em execução. | Como o Datastream lê arquivos de registro refazer arquivados, as mudanças feitas na origem não são refletidas no destino até que o registro seja arquivado. Para conferir as mudanças no destino, mude a política de arquivamento de registros ou force manualmente uma troca de registro. Para mais informações, consulte Trabalhar com arquivos de registro "redo" do banco de dados Oracle. |
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 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. Somente certificados x509 codificados em PEM são aceitos. |
Alta latência ao fazer streaming de uma origem do MySQL. | Aumente a capacidade do Datastream de leitura do banco de dados de origem:
|
Falha na validação da configuração do CDC do MySQL. | O banco de dados de origem não foi configurado para o método CDC selecionado. Selecione um método diferente ou conclua a configuração do método CDC. Para mais detalhes, consulte Configurar um banco de dados MySQL de origem. |
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. |
A coluna de replicação não existe. | Um erro ao buscar dados contínuos captura de dados alterados (CDC) poderá acontecer se o slot de replicação não existir no banco de dados. Verifique se o slot de replicação está configurado corretamente. Consulte Configurar um banco de dados PostgreSQL de origem. |
O slot de replicação está configurado com um plug-in incorreto. | Esse erro pode 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 único processo por vez. Não use o mesmo slot de replicação em nenhum outro processo, exceto no Datastream. |
A publicação não está configurada corretamente. | Esse erro pode ocorrer quando a publicação não está configurada para expor as tabelas incluídas na configuração do fluxo. Verifique se a publicação está configurada corretamente. Consulte Configurar informações sobre o banco de dados de origem para o fluxo. |
A publicação não existe. | Esse erro pode 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 é possível retomar a replicação porque os arquivos WAL foram perdidos. | Esse erro pode ocorrer quando o processo de replicação está pausado por muito tempo, o que faz com que os arquivos WAL sejam perdidos. Os streams não podem ser pausados por períodos que se aproximam do 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. |
Transações grandes no banco de dados de origem causam problemas com a 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 são de linha única, o processamento de outras mudanças no slot de replicação, incluindo mudanças nos dados em outras tabelas, é atrasado até que o Datastream se atualize com todas as mudanças no slot de replicação. |
Transações grandes no banco de dados de origem causam baixa taxa de transferência de CDC. | O Datastream não oferece suporte CDC com vários threads no PostgreSQL. Para superar essa limitação e aumentar a taxa de transferência do CDC, divida a origem em vários fluxos, cada um com a própria publicação e slot de replicação. Por exemplo, você pode criar um stream para a tabela maior do seu banco de dados e outro para todas as outras, ou um stream para as tabelas de prioridade máxima e outro para as restantes. Os casos de uso podem variar, então você precisa considerar o que faz mais sentido no seu cenário específico de CDC. Para saber como criar uma publicação, consulte Configurar um banco de dados PostgreSQL de origem. |
Eventos sem suporte descartados com o código de motivo: BIGQUERY_TOO_MANY_PRIMARY_KEYS . |
Quando a identidade da réplica do PostgreSQL de uma tabela é definida como FULL , o Datastream trata todas as colunas dessa tabela como chaves primárias. Se houver mais de 16 colunas na tabela, isso viola a limitação de 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 de alteração (CDC) precisa estar ativada no banco de dados. O Datastream precisa de acesso de leitura direto aos registros de transações para replicar as mudanças em tempo real no banco de dados de origem e receber informações completas sobre os registros. Ative a CDC para o banco de dados e tente novamente. Para saber como ativar a CDC em 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 fluxo. O Datastream precisa de acesso de leitura direto aos registros de transações para replicar mudanças em tempo real nas tabelas de origem e receber informações completas dos registros. Ative a CDC para as tabelas incluídas no fluxo e tente novamente. Para saber como ativar o 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 adequados à conta de usuário usada para se conectar ao seu banco de dados e tente novamente. |
Não há suporte para a edição EDITION_NAME do SQL Server. | O Datastream não é compatível com essa edição do SQL Server. Para mais informações sobre as edições compatíveis do SQL Server, consulte Visão geral do SQL Server como origem. |
A versão VERSION_NAME da edição Standard do SQL Server não tem suporte. | O Datastream não oferece suporte a essa versão da edição Standard do SQL Server. Para mais informações sobre as versões compatíveis do SQL Server, consulte Visão geral do SQL Server como fonte. |
Configuração da CDC do SQL Server: falha. | O método CDC selecionado não está em conformidade com a configuração do banco de dados. Mude o método do CDC e tente novamente. |
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ê vai precisar excluir 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 existentes se a chave primária for diferente. Para mais informações, consulte Configurar um destino do BigQuery. |
A tabela de destino do BigQuery tem muito mais registros do que a tabela de origem. | Isso pode acontecer quando a tabela de origem não tem uma chave primária. Nesse caso, o Datastream processa a tabela no modo de gravação somente de anexação, e cada evento de uma determinada linha aparece como uma linha separada no BigQuery. |
Os dados são duplicados ao realizar o preenchimento no modo de gravação Somente de adição. | Quando você seleciona o modo de gravação Somente anexar para o stream, seus dados são anexados no BigQuery como um 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 gravação de mesclagem, mas as mudanças não são mescladas no BigQuery. | Verifique se há uma chave primária na tabela de origem. O BigQuery precisa dele para mesclar as alterações na tabela de destino. Se não houver uma chave primária, adicione uma na tabela de origem ou de destino. Para adicionar uma chave primária na tabela de destino do BigQuery, siga estas etapas:
|
Não é possível adicionar, remover ou alterar a definição de uma chave primária de uma tabela que já foi replicada para o BigQuery. | Por padrão, o Datastream não oferece suporte à adição de uma chave primária a uma tabela que já foi replicada no BigQuery sem uma chave primária ou à remoção de uma chave primária de uma tabela replicada no BigQuery com uma chave primária. No entanto, é possível mudar a definição da chave primária de uma tabela de origem replicada para o BigQuery que já tem uma chave primária:
|
A seguir
- Para saber como procurar possíveis problemas com seu stream, consulte Resolver problemas em um stream.
- Para saber como configurar o banco de dados de origem, consulte Origens.
- Para saber como configurar o destino do BigQuery ou do Cloud Storage, consulte Destinos.