Solución de problemas de flujos de datos
| Síntoma | Causas probables | Acciones |
|---|---|---|
| REST devuelve 401 | Faltan credenciales o no son válidas; la autenticación de proxy no coincide. | Verifique el modo de autenticación, el secreto, el reloj cuando corresponda y la ruta del proxy. No embeba credenciales en la URL. |
| REST devuelve 403 | La cuenta no tiene el rol de usuario, operador o administrador necesario. | Utilice la tabla de roles en Requisitos para la configuración de flujos de datos y otorgue solo el permiso necesario. |
| WebSocket devuelve 404 o un fallo de establecimiento de comunicación | Ruta de canal codificada; el proxy no ha enrutado ni actualizado; nombre de flujo incorrecto. | Recupere el YAML generado y utilice su dirección de canal y host. Valide las cabeceras de cambio de versión WebSocket. |
| Fallo de verificación de TLS | CA desconocida, certificado caducado, falta de coincidencia de host o falta certificado de cliente. | Instale la cadena de CA correcta, confirme el DNS y el certificado SAN, y configure el TLS mutuo cuando sea necesario. |
| La conexión se ha realizado correctamente, pero no llegan registros | begin=now sin nuevas confirmaciones; el filtro excluye los datos; pista/ruta incorrecta; Extract no escribe. |
Genere una transacción conocida, inspeccione la pista de origen, simplifique temporalmente los filtros y verifique el origen de flujo. |
| El primer objeto no es DML | Los registros de esquema y metadatos se esperan antes que los datos. | Clasifique todos los objetos; almacene en caché el esquema y los metadatos en lugar de tratarlos como errores. |
| El analizador JSON espera un objeto pero recibe una matriz | El mensaje WebSocket es un lote. | Analizar la matriz de nivel superior e iterar sus registros. |
El cliente no se puede volver a conectar con pos |
El token no está codificado en porcentaje, se ha modificado, pertenece a otro flujo o se ha depurado el historial de pistas. | Utilice el token guardado exacto, el porcentaje de codificación, verifique el ámbito y siga el procedimiento de recuperación de posición no disponible. |
| Aparecen duplicados | atLeastOnce; bloqueo entre el punto de control y la escritura del fregadero; dos consumidores comparten el punto de control; reintento no idempotente. |
Utilice puntos de control atómicos o idempotencia y verifique la calidad del servicio y la propiedad del consumidor. |
| Faltan registros después de la recuperación | atMostOnce ha omitido una posición no disponible; el punto de control se ha guardado antes de la confirmación de negocio; los filtros han cambiado. |
Audite el evento de recuperación, concilie la brecha de datos y utilice exactlyOnce, además de una transacción de punto de control correcta para cargas de trabajo duraderas. |
| La imagen anterior o posterior carece de columnas | El registro de origen o Extract capturaron una imagen parcial; se omitieron los valores nulos; se seleccionó el modelo de fila. | Inspeccione la captura de pista, omitNullColumnValues, el modelo y el esquema de tiempo de ejecución. No infiera campos ausentes como nulos. |
| Falta el DDL | No se captura el DDL, el filtro excluye el DDL o la configuración de origen no soporta el evento esperado. | Valide la captura de DDL de origen e incluya DDL en los filtros de operación. |
| El consumidor falla después de DDL | El esquema en caché está obsoleto o el proceso descendente no puede aceptar el cambio. | Sustituya el esquema/metadatos en caché cuando lleguen nuevos registros y ejecute la política de migración de esquema regida. |
| El registro grande está truncado o dividido | maxLobSize, maxDDLTextSize, maxRecordSize, límite de proxy o límite de cliente. |
Aumente los límites validados, seleccione el manejo de fragmentos cuando esté soportado y aumente los límites de mensajes de proxy/cliente. |
| Cambios de precisión numérica | Número JSON analizado como punto flotante binario. | Utilice análisis con detección de decimales o treatAllColumnsAsStrings. |
| La memoria del consumidor crece | Lento procesamiento descendente, cola sin enlazar, lotes de gran tamaño o bucle de reconexión. | Colas enlazadas, desacoplamiento de recepción de procesamiento, ajuste de tamaños de lote y escalado o aceleración del trabajo descendente. |
| El consumidor CloudEvents no puede encontrar campos | El registro GoldenGate está en data o los valores del sobre de tiempo de ejecución difieren de un ejemplo copiado. |
Desajuste data y utilice los atributos de evento YAML y real en tiempo de ejecución. |
Información para obtener apoyo
-
Tipo de despliegue y versión de Oracle GoldenGate.
-
Configuración del flujo de datos desinfectado y AsyncAPI YAML generado.
-
Nombre del flujo, ruta y pista de origen, calidad del servicio, filtros y configuración de JSON.
-
Registros de hora UTC exactos, estado HTTP o código de cierre WebSocket y códigos de mensaje GoldenGate.
-
Último punto de control conocido-bueno y si estaba codificado en porcentaje; protegerlo o codificarlo cuando sea necesario.
-
Logs relevantes de servicio de distribución, extracción, proxy y consumidor.
-
Un registro de esquema/metadatos desinfectado y una carga útil con fallos.
-
Estado de retención del rastro y evidencia de que la posición solicitada permanece disponible.