Risolvere i problemi relativi ai flussi di dati
| Sintomo | Probabili cause | Azioni |
|---|---|---|
| REST restituisce 401 | Credenziali mancanti o non valide; autenticazione proxy non corrispondente. | Verificare la modalità di autenticazione, il segreto, l'orologio, se pertinente, e l'instradamento proxy. Non incorporare le credenziali nell'URL. |
| REST restituisce 403 | L'account non dispone del ruolo utente, operatore o amministratore richiesto. | Utilizzare la tabella dei ruoli in Prerequisiti per la configurazione dei flussi di dati e concedere solo l'autorizzazione necessaria. |
| WebSocket restituisce 404 o un errore di handshake | Percorso del canale non modificabile; il proxy non ha instradato o aggiornato; nome del flusso errato. | Recupera lo YAML generato e ne utilizza l'indirizzo host e canale. Convalidare le intestazioni di aggiornamento WebSocket. |
| Verifica TLS non riuscita | CA sconosciuta, certificato scaduto, host non corrispondente o certificato client mancante. | Installare la catena CA corretta, confermare il DNS e il certificato SAN e configurare il protocollo TLS reciproco quando necessario. |
| Connessione riuscita, ma non arrivano record | begin=now senza nuovi commit; il filtro esclude i dati; trail/percorso errato; Extract non scrive. |
Genera una transazione nota, ispeziona il trail di origine, semplifica temporaneamente i filtri e verifica l'origine del flusso. |
| Il primo oggetto non è DML | Previsti record di schema e metadati prima dei dati. | Classifica ogni oggetto, lo schema e i metadati della cache invece di trattarli come errori. |
| Il parser JSON prevede un oggetto ma riceve un array | Il messaggio WebSocket è un batch. | Analizza l'array di livello superiore e itera i relativi record. |
Il client non può riconnettersi con pos |
Il token non codificato in percentuale, modificato, appartiene a un altro flusso oppure la cronologia del trail è stata rimossa. | Utilizzare il token salvato esatto, codificarlo in percentuale, verificare l'ambito e seguire la procedura di recupero della posizione non disponibile. |
| Vengono visualizzati duplicati | atLeastOnce; crash tra sink write e checkpoint; due consumatori condividono checkpoint; nuovo tentativo non idempotente. |
Usa il checkpoint atomico o l'idempotenza e verifica la qualità del servizio e la proprietà del consumatore. |
| Record mancanti dopo il recupero | atMostOnce ha saltato una posizione non disponibile; checkpoint salvato prima del commit aziendale; filtri modificati. |
Eseguire l'audit dell'evento di recupero, riconciliare il divario di dati e utilizzare exactlyOnce più una transazione di checkpoint corretta per i carichi di lavoro permanenti. |
| Colonne mancanti prima o dopo l'immagine | Il log di origine o Extract ha acquisito un'immagine parziale; i valori nulli sono stati omessi; modello di riga selezionato. | Ispezionare lo schema di acquisizione trail, omitNullColumnValues, modello e runtime. Non dedurre i campi assenti come nulli. |
| DDL mancante | DDL non acquisito, il filtro esclude DDL oppure la configurazione di origine non supporta l'evento previsto. | Convalidare l'acquisizione DDL di origine e includere DDL nei filtri delle operazioni. |
| Consumer non riuscito dopo DDL | Lo schema inserito nella cache non è più valido oppure a valle non è possibile accettare la modifica. | Sostituire lo schema o i metadati inseriti nella cache quando arrivano nuovi record ed eseguire il criterio di migrazione dello schema regolato. |
| Record grande troncato o frazionato | maxLobSize, maxDDLTextSize, maxRecordSize, limite proxy o limite client. |
Aumenta i limiti convalidati, seleziona la gestione dei chunk se supportata e aumenta i limiti dei messaggi proxy/client. |
| Modifiche di precisione numerica | Numero JSON analizzato come virgola mobile binaria. | Utilizzare l'analisi con riconoscimento decimale o treatAllColumnsAsStrings. |
| La memoria del consumatore cresce | Elaborazione a valle lenta, coda non limitata, batch di dimensioni eccessive o loop di riconnessione. | Code vincolate, disaccoppiamento ricevuto dall'elaborazione, ottimizzazione delle dimensioni dei batch e ridimensionamento o limitazione del lavoro a valle. |
| Il consumer CloudEvents non riesce a trovare i campi | Il record GoldenGate si trova in data oppure i valori dell'envelope runtime differiscono da un esempio copiato. |
Annullare il wrapping di data e utilizzare gli attributi YAML runtime e degli eventi effettivi. |
Informazioni da raccogliere per il supporto
-
Tipo di release e distribuzione di Oracle GoldenGate.
-
Configurazione del flusso di dati sanificata e YAML generato AsyncAPI.
-
Nome del flusso, trail e percorso di origine, qualità del servizio, filtri e impostazioni JSON.
-
Indicatori orari UTC esatti, stato HTTP o codice di chiusura WebSocket e codici di messaggio GoldenGate.
-
Ultimo checkpoint noto-buono e se è stato codificato in percentuale; proteggerlo o hash quando necessario.
-
Log rilevanti di servizio di distribuzione, estrazione, proxy e consumer.
-
Record schema/metadati sanificato e un payload non riuscito.
-
Stato di conservazione del trail e prova che la posizione richiesta rimane disponibile.