Diagnosticar e Solucionar Problemas do Serviço Data Streams
| Sintoma | Causas prováveis | Ações |
|---|---|---|
| REST retorna 401 | Credenciais ausentes ou inválidas; incompatibilidade de autenticação de proxy. | Verifique o modo de autenticação, o segredo, o relógio quando relevante e a rota do proxy. Não incorpore credenciais no URL. |
| REST retorna 403 | A conta não tem a atribuição de Usuário, Operador ou Administrador necessária. | Use a tabela de atribuições em Pré-requisitos para Configuração do Serviço Data Streams e conceda apenas a permissão necessária. |
| WebSocket retorna 404 ou falha no handshake | Caminho de canal codificado; proxy não roteou nem atualizou; nome de fluxo incorreto. | Recupere o YAML gerado e use seu host e endereço de canal. Validar cabeçalhos de upgrade do WebSocket. |
| Falha na verificação de TLS | CA desconhecida, certificado expirado, incompatibilidade de host ou certificado de cliente ausente. | Instale a cadeia de CA correta, confirme o DNS e o certificado SAN e configure o TLS mútuo quando necessário. |
| Conexão bem-sucedida, mas nenhum registro chega | begin=now sem novas confirmações; filtro exclui dados; trilha/caminho errado; Extract não gravando. |
Gere uma transação conhecida, inspecione a trilha de origem, simplifique temporariamente os filtros e verifique a origem do fluxo. |
| O primeiro objeto não é DML | Registros de esquema e metadados são esperados antes dos dados. | Classifique cada objeto; armazene em cache o esquema e os metadados em vez de tratá-los como erros. |
| O parser JSON espera um objeto, mas recebe um array | A mensagem WebSocket é um batch. | Faça parse da matriz de nível superior e itere seus registros. |
O cliente não pode se reconectar com pos |
Token não codificado em porcentagem, alterado, pertence a outro fluxo ou o histórico de trilha foi limpo. | Use o token salvo exato, a porcentagem-codifique-o, verifique o escopo e siga o procedimento de recuperação de posição indisponível. |
| Aparecem duplicidades | atLeastOnce; falha entre o sumidouro e o ponto de verificação; dois consumidores compartilham o ponto de verificação; nova tentativa não idempotente. |
Use checkpoint atômico ou idempotência e verifique a qualidade do serviço e a propriedade do consumidor. |
| Registros ausentes após a recuperação | atMostOnce ignorou uma posição indisponível; checkpoint salvo antes do commit de negócios; filtros alterados. |
Faça auditoria do evento de recuperação, reconcilie a lacuna de dados e use exactlyOnce, além de uma transação de checkpoint correta para cargas de trabalho duráveis. |
| A imagem anterior ou posterior não tem colunas | O registro de origem ou Extract capturou uma imagem parcial; nulos omitidos; modelo de linha selecionado. | Inspecione a captura de trilha, omitNullColumnValues, o modelo e o esquema de runtime. Não inferir campos ausentes como nulos. |
| DDL ausente | DDL não capturada, o filtro exclui DDL ou a configuração de origem não suporta o evento esperado. | Valide a captura de DDL de origem e inclua DDL em filtros de operação. |
| O consumidor falha após a DDL | O esquema armazenado em cache está obsoleto ou o downstream não pode aceitar a alteração. | Substitua o esquema/metadados armazenados no cache quando novos registros chegarem e execute a política de migração de esquema governada. |
| Registro grande truncado ou dividido | maxLobSize, maxDDLTextSize, maxRecordSize, limite de proxy ou limite de cliente. |
Aumente os limites validados, selecione o tratamento de chunk quando suportado e gere limites de mensagens de proxy/cliente. |
| Alterações de precisão numérica | Número JSON analisado como ponto flutuante binário. | Use a análise com reconhecimento decimal ou treatAllColumnsAsStrings. |
| A memória do consumidor cresce | Processamento downstream lento, fila não limitada, lotes grandes ou loop de reconexão. | Filas vinculadas, desacoplar recebimento de processamento, ajustar tamanhos de lote e dimensionar ou acelerar o trabalho downstream. |
| O consumidor CloudEvents não pode localizar campos | O registro GoldenGate está em data ou os valores de envelope de runtime diferem de um exemplo copiado. |
Desembrulhe data e use os atributos de evento reais e YAML de runtime. |
Informações a recolher para apoio
-
Release do Oracle GoldenGate e tipo de implantação.
-
Configuração do Fluxo de Dados Sanitizado e geração de AsyncAPI YAML.
-
Nome do fluxo, trilha e caminho de origem, qualidade do serviço, filtros e definições JSON.
-
Timestamps UTC exatos, status HTTP ou código de fechamento WebSocket e códigos de mensagem GoldenGate.
-
Último ponto de verificação em boas condições e se foi codificado por porcentagem; proteja ou hash quando necessário.
-
Serviço de Distribuição Relevante, Extract, proxy e logs do consumidor.
-
Um registro de esquema/metadados higienizado e um payload com falha.
-
Estado de retenção da trilha e evidência de que a posição solicitada permanece disponível.