Fehler in Data Streams beheben
| Symptom | Wahrscheinliche Ursachen | Aktionen |
|---|---|---|
| REST gibt 401 zurück | Fehlende oder ungültige Zugangsdaten; Proxyauthentifizierung stimmt nicht überein. | Prüfen Sie den Authentifizierungsmodus, das Secret, die Uhr (sofern relevant) und die Proxyroute. Zugangsdaten nicht in die URL einbetten. |
| REST gibt 403 zurück | Dem Konto fehlt die erforderliche Benutzer-, Operator- oder Administratorrolle. | Verwenden Sie die Rollentabelle unter Voraussetzungen für die Datenstreams-Konfiguration, und erteilen Sie nur die erforderliche Berechtigung. |
| WebSocket gibt 404 oder Handshake-Fehler zurück | Hartcodierter Kanalpfad; Proxy hat weder weitergeleitet noch aktualisiert; falscher Streamname. | Rufen Sie die generierte YAML ab und verwenden Sie deren Host- und Kanaladresse. Validieren Sie die Upgradeheader WebSocket. |
| TLS-Verifizierung nicht erfolgreich | Unbekannte CA, abgelaufenes Zertifikat, Hostunstimmigkeit oder fehlendes Clientzertifikat. | Installieren Sie die korrekte CA-Kette, bestätigen Sie das DNS- und Zertifikat-SAN, und konfigurieren Sie bei Bedarf gegenseitige TLS. |
| Verbindung erfolgreich, aber keine Datensätze empfangen | begin=now ohne neue Commits; filter schließt Daten aus; falscher Trail/Pfad; Extract schreibt nicht. |
Generieren Sie eine bekannte Transaktion, prüfen Sie den Quelltrail, vereinfachen Sie vorübergehend Filter, und prüfen Sie die Streamquelle. |
| Erstes Objekt ist keine DML | Schema- und Metadaten-Datensätze werden vor Daten erwartet. | Klassifizieren Sie jedes Objekt, Cache-Schema und Metadaten, anstatt sie als Fehler zu behandeln. |
| JSON-Parser erwartet ein Objekt, empfängt jedoch ein Array | Die Nachricht WebSocket ist ein Batch. | Parsen Sie das Array der obersten Ebene, und wiederholen Sie die zugehörigen Datensätze. |
Client kann nicht erneut mit pos verbunden werden |
Token nicht in Prozent codiert, geändert, gehört zu einem anderen Stream, oder die Trailhistorie wurde gelöscht. | Verwenden Sie das exakte gespeicherte Token, codieren Sie es in Prozent, prüfen Sie den Geltungsbereich, und befolgen Sie das Verfahren zur Wiederherstellung nach nicht verfügbarer Position. |
| Duplikate werden angezeigt | atLeastOnce; Absturz zwischen Sink-Schreib- und Checkpoint; zwei Consumer teilen Checkpoint; nicht-idempotente Wiederholung. |
Verwenden Sie atomare Checkpointing oder Idempotenz und überprüfen Sie die Servicequalität und das Eigentum der Verbraucher. |
| Datensätze fehlen nach Wiederherstellung | atMostOnce hat eine nicht verfügbare Position übersprungen. Checkpoint wurde vor dem Geschäfts-Commit gespeichert. Filter wurden geändert. |
Auditieren Sie das Recovery-Ereignis, stimmen Sie die Datenlücke ab, und verwenden Sie exactlyOnce plus eine korrekte Checkpoint-Transaktion für dauerhafte Workloads. |
| Vor oder nach dem Bild fehlen Spalten | Quell-Logging oder Extract hat ein Teilbild erfasst; Nullwerte ausgelassen; Zeilenmodell ausgewählt. | Trail Capture, omitNullColumnValues, Modell und Laufzeitschema prüfen Nicht vorhandene Felder dürfen nicht als Null inferenziert werden. |
| DDL fehlt | DDL nicht erfasst, Filter schließt DDL aus, oder die Quellkonfiguration unterstützt das erwartete Ereignis nicht. | Validierung der Quell-DDL-Erfassung und Aufnahme von DDL in Vorgangsfilter. |
| Consumer nicht erfolgreich nach DDL | Das gecachte Schema ist veraltet, oder das Downstream-Schema kann die Änderung nicht akzeptieren. | Ersetzen Sie das gecachte Schema/die gecachten Metadaten, wenn neue Datensätze eintreffen und die Policy für die Migration des verwalteten Schemas ausführen. |
| Großer Datensatz wird abgeschnitten oder geteilt | maxLobSize, maxDDLTextSize, maxRecordSize, Proxygrenzwert oder Clientgrenzwert. |
Erhöhen Sie die validierten Grenzwerte, wählen Sie die Chunk-Verarbeitung, wenn sie unterstützt wird, und erhöhen Sie die Grenzwerte für Proxy/Client-Nachrichten. |
| Änderungen der numerischen Gesamtstellenzahl | JSON-Zahl als binärer Gleitkomma geparst. | Verwenden Sie dezimales Parsen oder treatAllColumnsAsStrings. |
| Verbraucherspeicher wächst | Verlangsamung der Downstream-Verarbeitung, ungebundene Queue, übergroße Batches oder erneute Verbindungsschleife. | Bound Queues, entkoppeln den Empfang von der Verarbeitung, optimieren die Batchgrößen und skalieren oder drosseln die nachgelagerte Arbeit. |
| CloudEvents-Verbraucher kann keine Felder finden | Der GoldenGate-Datensatz befindet sich unter data, oder Laufzeit-Envelope-Werte unterscheiden sich von einem kopierten Beispiel. |
Heben Sie den Umbruch von data auf, und verwenden Sie die Laufzeit-YAML- und Ist-Ereignisattribute. |
Zu sammelnde Informationen zur Unterstützung
-
Oracle GoldenGate-Release und Deployment-Typ.
-
Konfiguration von sanitiertem Datenstrom und generierte AsyncAPI YAML.
-
Streamname, Quelltrail und -pfad, Quality of Service, Filter und JSON-Einstellungen.
-
Exakte UTC-Zeitstempel, HTTP-Status oder WebSocket-Schließcode und GoldenGate-Nachrichtencodes.
-
Letzter zweifelsfrei funktionierender Checkpoint und ob er prozentcodiert wurde. Schützen Sie ihn bei Bedarf oder hash.
-
Relevanter Distributionsservice-, Extract-, Proxy- und Consumer-Logs.
-
Ein bereinigter Schema-/Metadaten-Datensatz und eine nicht erfolgreiche Payload.
-
Trail-Erhaltungszustand und Nachweis, dass die angeforderte Position weiterhin verfügbar ist.