Diagnosticar problemas

Descripción general

La transmisión puede generar errores durante el tiempo de ejecución.

  • Algunos errores, como una contraseña incorrecta en la base de datos de origen, se pueden recuperar, lo que significa que se pueden corregir y la transmisión se reanuda automáticamente.
  • Los errores pueden afectar a un solo objeto, como un evento que contiene tipos de datos no admitidos. Otros errores pueden afectar a varios objetos o a toda la transmisión, como cuando Datastream no puede conectarse a la base de datos de origen.
  • Según el error, la información se proporciona en las páginas Transmisiones o Detalles del flujo de la IU de Datastream. También puedes usar las APIs de Datastream para recuperar información sobre el error.

Para solucionar un error, navega a las novedades para verlo y sigue los pasos que se describen en el mensaje de error.

Esta página contiene información sobre la configuración, la conectividad, los errores de Oracle y MySQL, junto con los pasos para solucionar los errores.

Errores de configuración y conectividad

Error Pasos para solucionar problemas
No se pudo establecer la conexión a la base de datos de origen (genérica).

Esto puede suceder por varios motivos. Para solucionar este error, realiza las siguientes acciones:

  1. Asegúrate de que la base de datos de origen esté activa y accesible.
  2. Navega al perfil de conexión de origen desde las páginas Transmisiones o Perfiles de conexión.
  3. Verifica que la información de conectividad del perfil de conexión sea correcta.
  4. Verifica que el nombre de usuario y la contraseña coincidan.
  5. Verifica que el nombre de usuario exista en la base de datos y que tenga los privilegios necesarios.
  6. Guarda los cambios que realizaste en la página Perfiles de conexión.

La transmisión se reanudará automáticamente.

Falla en la conexión a la base de datos de origen (lista de IP permitidas). Esto puede suceder si el método de conectividad elegido es lista de IP permitidas, pero una o más de las direcciones IP de salida de Datastream no se agregan de forma correcta a la base de datos de origen. Asegúrate de que las direcciones IP salientes que se muestran en el perfil de conexión de Datastream estén configuradas en el firewall de red para que el servidor de la base de datos de origen pueda aceptar conexiones de estas direcciones IP. Una vez corregido esto, la transmisión se reanuda automáticamente.
No se pudo establecer la conexión a la base de datos de origen (reenviar túnel SSH). Esto puede suceder si hay un problema con el reenvío por túnel SSH. Verifica el estado del túnel. Si el túnel está detenido, entonces se debe iniciar. Una vez corregido esto, la transmisión se reanuda automáticamente.
Datastream no puede conectarse a un host de bastión a través de un túnel SSH de reenvío. Verifica que la configuración del túnel SSH de reenvío sea la correcta en el perfil de conexión de origen y que el puerto esté abierto en el servidor de túnel SSH.
No se pudo establecer la conexión con la base de datos de origen debido a certificados incorrectos. Esto puede ocurrir si hay un problema con los certificados proporcionados cuando se define el perfil de conexión de origen. Navega a la página Perfiles de conexión y, luego, selecciona el perfil de conexión determinado. Verifica que los certificados estén configurados de forma correcta. Después de realizar los cambios, guarda el perfil de conexión y la transmisión se reanudará automáticamente.
No se pudo usar la conectividad privada para conectarse a la base de datos de origen.
  1. Asegúrate de haber completado todos los requisitos previos en Antes de comenzar.
  2. Después de crear la configuración de conectividad privada, verifica que la ruta que contiene la dirección IP interna de la base de datos aparezca en la pestaña Rutas exportadas de la página Intercambio de tráfico entre redes de VPC.

    Para ello, ve a la página Intercambio de tráfico entre redes de VPC y busca el intercambio de tráfico que se agregó (el nombre es peering-[UUID]). La ruta se encuentra en la pestaña Rutas exportadas. Si esta ruta no existe, agrégala manualmente.

  3. Datastream no verifica si se superponen con rutas de intercambio de tráfico dinámicas. Proporcionar una subred que se superpone con una ruta dinámica puede generar problemas de conectividad. Por lo tanto, no recomendamos usar una subred que forme parte de una ruta dinámica.
  4. Asegúrate de que las rutas personalizadas para los rangos de direcciones IP de Datastream se anuncien correctamente. Si faltan las rutas personalizadas, consulta la guía Anuncios de ruta personalizados.
  5. Si aún tienes problemas para conectarte a la base de datos de origen, consulta Configura un proxy inverso.
No se permite el tipo de conectividad STATIC_SERVICE_IP_CONNECTIVITY mientras esté activada la política de la organización constraints/datastream.disablePublicConnectivity.

Seleccionaste los métodos de conectividad de red pública Lista de IP permitidas o Reenviar túnel SSH para el perfil de conexión que estás creando. Sin embargo, la política de la organización Bloquear métodos de conectividad pública para Datastream está habilitada. Por lo tanto, no puedes seleccionar métodos de conectividad pública para tu perfil de conexión.

Para resolver este problema, selecciona el método de conectividad de red privada Intercambio de tráfico entre VPC o inhabilita la política de la organización.

Para inhabilitar la política de la organización, haz lo siguiente:

  1. Ve a la página Políticas de la organización en la consola de Google Cloud.
  2. Selecciona la política de la organización Datastream - Block Public Connectivity Methods.
  3. Haz clic en EDITAR.

  4. En la sección Se aplica a de la página, selecciona Personalizar.
  5. En la sección Aplicación, selecciona Desactivada.

  6. Haz clic en GUARDAR.
  7. Regresa al perfil de conexión de Oracle que estás creando y, luego, haz clic en CREAR.
Cuando configuro la base de datos de origen para mi transmisión, no puedo encontrar las tablas ni los esquemas que quiero transferir en la lista de objetos que se incluirán.

Esto puede suceder si tu base de datos tiene miles de tablas y esquemas. Es posible que algunos de ellos no estén incluidos en la lista de objetos para extraer cuando se configure la fuente de la transmisión en la consola de Google Cloud. En lugar de seleccionar Esquemas y tablas específicos en la sección Seleccionar objetos para incluir, elige Personalizado. En el campo Criterios de coincidencia de objetos, ingresa los esquemas y las tablas que deseas que Datastream extraiga.

Agregué varias tablas a mi flujo con el menú Objetos que se incluirán. Sin embargo, cuando reviso la pestaña Objetos en Detalles del flujo, puedo ver que faltan algunas tablas. Asegúrate de que haya al menos una actualización de CDC en cada una de estas tablas para que Datastream pueda reconocer los cambios y, luego, incluir automáticamente las tablas en el flujo.
No se pudo cargar la lista de objetos cuando se usaba el menú Objetos que se incluirán en la consola de Google Cloud. Esto puede suceder si tu base de datos tiene más de 5,000 esquemas y tablas. Usa un método diferente para especificar qué objetos incluir o usa la API de Datastream. Para obtener más información, consulta Configura bases de datos de origen.
Los eventos se descartan durante la transmisión y no se replican en el destino.

Es posible que Datastream quite eventos no admitidos durante la transmisión. Puedes realizar las siguientes acciones para solucionar el problema:

  • Activa manualmente un reabastecimiento de toda la tabla. Esto funciona si los eventos descartados son solo eventos UPSERT. Si los eventos descartados incluyen eventos DELETE, debes truncar la tabla en BigQuery antes de realizar el reabastecimiento.

    Para obtener información sobre cómo realizar un reabastecimiento, consulta Cómo iniciar un reabastecimiento.

  • Comunícate con Atención al cliente de Google y pídeles que realicen un reabastecimiento parcial. Esto es posible solo si puedes identificar los eventos descartados con una cláusula WHERE de SQL y si ninguno de los eventos es DELETE.
  • Ignora el problema si la cantidad de eventos descartados es baja o si los eventos descartados no son significativos.

Errores de Oracle

Error Pasos para solucionar problemas
El registro complementario está configurado de forma incorrecta en la base de datos de origen.

Puede producirse un error durante la recuperación de datos de captura de datos modificados (CDC) si la configuración de registro complementario no es correcta en la base de datos de origen. Verifica que el registro complementario esté configurado de forma correcta. Específicamente, confirma que el registro complementario esté activado para las tablas de la base de datos que se transmiten del origen al destino. La transmisión se reanudará automáticamente.

No se puede reanudar la replicación porque se pierde la posición del registro. Este error puede ocurrir cuando el proceso de replicación se detiene durante mucho tiempo, lo que hace que se pierda la posición del registro. Las transmisiones no se deben pausar durante períodos cercanos al período de retención de registros. Vuelve a crear la transmisión.
Faltan archivos de registro, ya sea de forma parcial o total.

Es posible que se hayan borrado los archivos de registro. Oracle borra definitivamente los archivos de registro lo antes posible, a menos que especifiques un período de rotación mínimo para mantenerlos. En el servidor de Oracle, establece por cuánto tiempo se deben retener los archivos de registro. Por ejemplo, usa CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS; para conservar los archivos de registro durante al menos 4 días.

Para una implementación de RDS, usa exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',96);

La lista de exclusiones incluye la lista de inclusiones. Toda la lista de inclusión se encuentra en la lista de exclusión, por lo que la lista de objetos que Datastream extrae de la fuente está vacía. Modifica la selección de objetos y vuelve a intentarlo.
El modo de registro para la base de datos de Oracle no está configurado en ARCHIVELOG. Cambia el modo de registro y, luego, vuelve a intentarlo.
Datastream muestra un mensaje de error ORA-00942: table or view does not exist, pero todo está configurado correctamente. Esto puede ser el resultado del almacenamiento en caché en el servidor de Oracle. Volver a crear el usuario de la base de datos debería solucionar el problema del almacenamiento en caché.
Los cambios en una fuente de Oracle no se reflejan en el destino cuando la transmisión ya se está ejecutando. Debido a que Datastream lee de archivos de registro de rehacer archivados, los cambios que realices en la fuente no se reflejarán en el destino hasta que se archive el registro. Para ver los cambios en el destino, cambia la política de archivo de registros o fuerza manualmente el cambio de registro. Para obtener más información, consulta Trabaja con archivos de registro de rehacer de la base de datos de Oracle.
Se produjo un error interno inesperado. Para obtener más información, comunícate con el equipo de Atención al cliente de Google.

Errores de MySQL

Error Pasos para solucionar problemas
El registro binario está configurado de forma incorrecta en la base de datos de origen.

Esto puede suceder en las transmisiones continuas de MySQL si la configuración del binlog es incorrecta en la base de datos de origen. Para solucionar este error, realiza las siguientes acciones:

  1. Verifica que el registro binario esté configurado de forma correcta.
  2. Confirma que el formato de registro binario de la base de datos MySQL esté configurado como ROW.
  3. Reinicia la transmisión.
No se pudo reanudar la replicación porque se perdió la posición del registro binario. Este error puede ocurrir cuando el proceso de replicación se detiene durante mucho tiempo, lo que hace que se pierda la posición del binlog. Las transmisiones no se deben pausar durante períodos que se acercan al período de retención de binlog. Vuelve a crear la transmisión.
Falla en la ejecución de la transmisión debido a la incompatibilidad de versiones de la base de datos de origen y el destino.

Esto puede suceder cuando la base de datos de origen no cumple con la matriz de compatibilidad de versiones. Para solucionar este error, realiza las siguientes acciones:

  1. Asegúrate de que la base de datos de origen siga la matriz.
  2. Vuelve a crear la transmisión con la base de datos de origen actualizada.
Faltan los registros binarios de la fuente de AWS RDS MySQL, ya sea de forma parcial o total. Es posible que se hayan borrado los registros binarios. El RDS de AWS borra definitivamente los registros binarios lo antes posible, a menos que especifiques un período de rotación mínimo para mantenerlos. En la instancia de origen de MySQL en RDS de AWS, establece por cuánto tiempo, en horas, se deben retener los registros binarios. Por ejemplo, usa mysql.rds_set_configuration('binlog retention hours', 168); para mantener los registros binarios durante al menos 7 días.
La lista de exclusiones incluye la lista de inclusiones. Toda la lista de inclusión se encuentra en la lista de exclusión, por lo que la lista de objetos que Datastream extrae de la fuente está vacía. Modifica la selección de objetos y vuelve a intentarlo.
Datastream no puede replicar una base de datos de MySQL. Asegúrate de que Datastream tenga permisos para replicar la base de datos.
Cuando se crea un perfil de conexión para una fuente MySQL, no se aceptan varios certificados SSL con codificación PEM en el menú Tipo de encriptación. Datastream no admite cadenas de certificados SSL en los perfiles de conexión de MySQL. Solo se admiten certificados únicos x509 con codificación PEM.
Se produjo un error interno inesperado. Para obtener más información, comunícate con el equipo de Atención al cliente de Google.

Errores de PostgreSQL

Error Pasos para solucionar problemas
La decodificación lógica está configurada de forma incorrecta en la base de datos de origen.

Verificar que la decodificación lógica esté configurada correctamente Consulta Cómo configurar una base de datos PostgreSQL de origen.

La ranura de replicación no existe Puede producirse un error durante la recuperación de datos de captura de datos modificados (CDC) si la ranura de replicación no existe en la base de datos. Verifica que la ranura de replicación esté configurada de forma correcta. Consulta Cómo configurar una base de datos PostgreSQL de origen.
La ranura de replicación está configurada con un complemento incorrecto Este error puede ocurrir si la ranura de replicación está configurada con un complemento diferente de pgoutput. Verifica que la ranura de replicación esté configurada de forma correcta. Consulta Base de datos de PostgreSQL de origen para obtener más información.
La ranura de replicación está activa en un proceso diferente. Este error puede ocurrir cuando otro proceso usa la ranura de replicación. Las ranuras de replicación solo las puede usar un solo proceso a la vez. Asegúrate de no usar la misma ranura de replicación en ningún otro proceso, excepto en Datastream.
La publicación no está configurada correctamente Este error puede ocurrir cuando la publicación no está configurada para exponer las tablas que se incluyen en la configuración de la transmisión. Verifica que la publicación esté configurada correctamente. Consulta Configura la información sobre la base de datos de origen para el flujo.
La publicación no existe. Este error puede ocurrir si la publicación no existe en la base de datos. Verifica que la publicación esté configurada correctamente. Consulta Cómo configurar una base de datos PostgreSQL de origen.
No se puede reanudar la replicación porque se pierden los archivos WAL. Este error puede ocurrir cuando el proceso de replicación se detiene durante mucho tiempo, lo que hace que se pierdan los archivos WAL. Las transmisiones no se deben pausar durante períodos que se acerquen al período de retención de los archivos WAL. Vuelve a crear la transmisión.
La lista de exclusiones incluye la lista de inclusiones. Toda la lista de inclusión se encuentra en la lista de exclusión, por lo que la lista de objetos que Datastream extrae de la fuente está vacía. Modifica la selección de objetos y vuelve a intentarlo.
Datastream no puede replicar un esquema de PostgreSQL. Asegúrate de que Datastream tenga permisos para replicar el esquema.
Las transacciones grandes en la base de datos de origen causan problemas con la replicación y sincronización de datos. Si insertas, actualizas o borras una cantidad significativa de registros en la base de datos de origen, la ranura de replicación podría sobrecargarse con los eventos correspondientes. Datastream necesita tiempo para leer y procesar estos eventos. Debido a que las ranuras de replicación de PostgreSQL tienen un solo subproceso, el procesamiento de otros cambios en la ranura de replicación, incluidos los cambios en los datos de otras tablas, se retrasa hasta que Datastream se pone al día con todos los cambios en la ranura de replicación.
Las transacciones grandes en la base de datos de origen causan una capacidad de procesamiento de CDC baja. Datastream no admite la CDC de varios subprocesos en PostgreSQL. Para superar esta limitación y aumentar la capacidad de procesamiento de CDC, puedes dividir la fuente en varias transmisiones, cada una con su propia ranura de publicación y replicación. Por ejemplo, es posible que desees crear un flujo para la tabla más grande de tu base de datos y otro para todas las demás tablas, o un flujo para las tablas de prioridad superior y otro para las restantes. Los casos de uso pueden variar, por lo que debe considerar qué tiene más sentido en su situación específica de CDC. Para obtener información sobre cómo crear una publicación, consulta Cómo configurar una base de datos PostgreSQL de origen.
Se descartaron eventos no admitidos con el código de motivo: BIGQUERY_TOO_MANY_PRIMARY_KEYS. Cuando la identidad de réplica de PostgreSQL de una tabla se establece en FULL, Datastream trata todas las columnas de esta tabla como claves primarias. Si hay más de 16 columnas en la tabla, se infringe la limitación de los CDC de BigQuery y se produce el error. Para resolver el problema, sigue estos pasos:
  1. Cambia la identidad de la réplica a DEFAULT:
    
    ALTER TABLE TABLE_NAME REPLICA IDENTITY DEFAULT
    Reemplaza TABLE_NAME por el nombre de la tabla para la que deseas cambiar la identidad de réplica.
  2. Quita la tabla de la lista de objetos del flujo que se incluirán. Para obtener más información, consulta Modifica la información de configuración de la base de datos de origen.
  3. Borra la tabla de BigQuery. Para obtener más información, consulta Cómo borrar tablas.
  4. En Datastream, edita la configuración de la fuente para volver a agregar la tabla a la transmisión.
Se produjo un error interno inesperado. Para obtener más información, comunícate con el equipo de Atención al cliente de Google.

Errores de SQL Server

Error Pasos para solucionar problemas
Las CDC están inhabilitadas para la base de datos DATABASE_NAME.

La captura de datos modificados (CDC) debe estar habilitada para la base de datos. Datastream necesita acceso de lectura directo a los registros de transacciones para replicar los cambios en tiempo real en la base de datos de origen y obtener información de registro completa. Habilita las CDC para la base de datos y vuelve a intentarlo.

Si quieres obtener información para habilitar la CDC para una base de datos, consulta Configura una base de datos de origen de SQL Server.

Tablas con las CDC inhabilitadas.

La captura de datos modificados (CDC) debe estar habilitada para todas las tablas incluidas en la transmisión. Datastream necesita acceso de lectura directo a los registros de transacciones para replicar los cambios en tiempo real en las tablas de origen y obtener información de registro completa. Habilita la CDC para las tablas incluidas en la transmisión y vuelve a intentarlo.

Si quieres obtener información sobre cómo habilitar la CDC para las tablas de origen, consulta Configura una base de datos de origen de SQL Server.

Faltan permisos A Datastream le faltan los permisos necesarios para leer desde la fuente. Otorga los privilegios adecuados a la cuenta de usuario que se usa para conectarse a tu base de datos y vuelve a intentarlo.
La edición EDITION_NAME de SQL Server no es compatible. Datastream no admite esta edición de SQL Server. Para obtener más información sobre las ediciones compatibles de SQL Server, consulta la Descripción general de SQL Server como fuente.
La versión VERSION_NAME de SQL Server de la edición Standard no es compatible. Datastream no admite esta versión de SQL Server edición Standard. Para obtener más información sobre las versiones compatibles de SQL Server, consulta la Descripción general de SQL Server como fuente.

Errores de BigQuery

Error Pasos para solucionar 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. Si la clave primaria cambia en la fuente, debes descartar la tabla en BigQuery y volver a iniciar el reabastecimiento. Esta es una limitación de BigQuery, ya que no hay forma de garantizar la combinación correcta de los eventos nuevos con las filas existentes si la clave primaria es diferente. Para obtener más información, consulta Configura un destino de BigQuery.