Puedes recuperar una transmisión con errores permanente sin tener que crear una nueva. Para hacerlo, especifica la posición desde la que intenta Datastream. para reanudar la lectura de los cambios de la fuente.
Descripción general de la recuperación de transmisiones
Una transmisión en ejecución puede encontrar algunos errores irrecuperables y cambiar su estado a
FAILED_PERMANENTLY
Estos errores evitan que la transmisión continúe ejecutándose.
podría causar la pérdida de datos.
Si quieres recuperar una transmisión con errores permanente, puedes configurarla para que ignore el error y sigue leyendo los eventos en curso en lugar de recrear la transmisión y reabastecer los datos históricos. Para recuperar una transmisión con errores permanente, restablece el para comenzar a leer desde una posición de replicación diferente. Cada uno de los El tipo de fuente tiene su propia definición de qué es una posición de replicación:
- Para las fuentes de Oracle, una posición de replicación es un archivo de registro de rehacer en la base de datos y el número de cambio del sistema (SCN) de este archivo.
- Para las fuentes de MySQL, una posición de replicación es el registro binario de la base de datos (binlog) y la posición en este archivo.
- Para las fuentes de SQL Server, una posición de replicación es el número de secuencia de registro (LSN) en los registros de transacciones o en las tablas de cambios.
- Para las fuentes de PostgreSQL (incluidas AlloyDB para PostgreSQL), una posición de replicación es el número de secuencia de registro (LSN) en la ranura de replicación. Durante la recuperación, la transmisión comienza a leer desde el primer LSN en la ranura de replicación.
Recupera una transmisión para una fuente de MySQL o de Oracle
Si quieres recuperar una transmisión para una fuente de MySQL o de Oracle, tienes las siguientes opciones:
Reintentar desde la posición actual (recomendado): Selecciona esta opción para intento de transmisión desde la posición actual, en la que falló la última transmisión. Primero debes corregir el archivo de registro o recuperarlo desde la copia de seguridad. Este es el la opción recomendada.
Omitir la posición actual y transmitir desde la siguiente posición disponible: Si faltan uno o más archivos de registro, selecciona esta opción para omitirlos y reanudar la transmisión desde la primera posición en el siguiente archivo disponible. El los cambios de los archivos de registro faltantes se pierden, pero puedes recuperarlos realizar un reabastecimiento.
Omitir la posición actual y transmitir desde la posición más reciente: Si faltan uno o más archivos de registro, selecciona esta opción para omitirlos y reanudar la transmisión desde la posición más reciente en el archivo de registro más actualizado. Los cambios de los archivos de registro faltantes se pierden, pero puedes recuperarlos realizar un reabastecimiento.
Reanuda desde tu posición y archivo de transmisión preferidos: Selecciona esta opción. para reanudar la transmisión desde un archivo y una posición de registro específicos. Es posible que algunos cambios se perderán si la posición del registro especificada no se superpone con siguen la posición del registro perdido. Para recuperar estos cambios, realiza un reabastecimiento.
Para recuperar una transmisión con errores de forma permanente de una fuente de MySQL o de Oracle, realiza sigue estos pasos:
Ve a la página Novedades en Google Cloud.
Haz clic en Recuperar en la fila con el nombre de la transmisión que quieres recuperar.
Se abrirá el panel Elige una estrategia de recuperación. Selecciona una opción. Si seleccionas Reanuda desde tu posición y archivo de transmisión preferidos, ingresa lo siguiente:
- Para una fuente de MySQL: el nombre del archivo de registro en el campo Nombre del archivo y la posición del registro en el campo Posición. Si no especificas la posición, se reanudará la transmisión. de la primera posición en el archivo de registro indicado.
- Para una fuente de Oracle: el número de cambio del sistema (SCN) en el campo System Change Number (SCN). Este campo es obligatorio.
Haz clic en Aplicar.
Cuando se recupera la transmisión, aparece una marca de tiempo en la columna Recovered en la página Novedades.
Recupera una transmisión de una fuente de PostgreSQL
Para recuperar una transmisión de una fuente de PostgreSQL, debes proporcionar la replicación nombre de la ranura. El servidor usa esta ranura de replicación para enviar eventos a Datastream. El nombre de la ranura de replicación puede ser el mismo que el de la transmisión con errores. diferentes:
- Si la ranura de replicación nueva tiene un nombre diferente, proporciona la replicación nueva nombre de la ranura a Datastream. Para obtener más información, consulta Cómo recuperar una transmisión de una fuente de PostgreSQL.
- Si no proporcionas un nombre de ranura de replicación, Datastream usará el el nombre de la ranura de replicación especificado en la configuración de origen. Para obtener más información, consulta Configura una base de datos PostgreSQL de origen.
Cualquier evento de cambio en la fuente que se produjo entre la pérdida de posición del registro y se pierde el primer LSN de la ranura de replicación nueva. Puedes recuperar estos cambios realizando un reabastecimiento.
Para recuperar una transmisión con errores de forma permanente de una fuente de PostgreSQL, realiza lo siguiente: los siguientes pasos:
Ve a la página Novedades en Google Cloud.
Haz clic en Recuperar en la fila con el nombre de la transmisión que quieres recuperar.
Se abrirá el panel Definir una nueva ranura de replicación.
En el campo Nombre de la ranura de replicación, proporciona el nombre de una replicación nueva. de la que se intentará recuperar la transmisión. Si volviste a crear la replicación ranura con el mismo nombre, o bien reutilizar la que especificaste cuando configurado tu fuente, puedes dejar este campo vacío.
Haz clic en Aplicar.
Cuando se recupera la transmisión, aparece una marca de tiempo en la columna Recovered en la página Novedades.
También puedes recuperar las transmisiones con errores permanentes en Detalles de la transmisión. . Para ello, haz clic en Recuperar transmisión cuando consultes información detallada sobre tus novedades.
Recupera una transmisión para una fuente de SQL Server
Para recuperar una transmisión de una fuente de SQL Server, tienes las siguientes opciones:
Reanudar desde la primera posición disponible: selecciona esta opción si el registro se truncado o faltan algunos registros en las tablas de cambios, y deseas reanudar del primer evento disponible. Los eventos faltantes se pierden, pero puedes recuperarlos con un reabastecimiento.
Reanudar desde tu número de secuencia de registro (LSN) preferido: Selecciona esta opción para reanudar la transmisión desde un LSN específico en los registros de transacciones o en las tablas de cambios. Algunos eventos pueden perderse si el LSN especificado no se superpone con el seguir el último LSN que Datastream pudo recuperar. Puedes recuperarla estos eventos mediante un reabastecimiento.
El LSN de los registros de transacciones y de las tablas de cambios contiene 20 caracteres pero, en el caso de los registros de transacciones, está separada por un delimitador. Por ejemplo:
- LSN en los registros de transacciones:
0000123C:0000BA78:0004
- LSN en las tablas de cambios:
0000123C0000BA780004
- LSN en los registros de transacciones:
Para recuperar una transmisión con errores permanentes de una fuente de SQL Server, realiza lo siguiente: los siguientes pasos:
Ve a la página Novedades en Google Cloud.
Haz clic en Recuperar en la fila con el nombre de la transmisión que quieres recuperar.
Se abrirá el panel Elige una estrategia de recuperación. Selecciona una opción.
Haz clic en Aplicar.
Cuando se recupera la transmisión, aparece una marca de tiempo en la columna Recovered en la página Novedades.
Usa la recuperación de transmisión para una fuente de MySQL en una situación de conmutación por error manual
Puedes realizar una conmutación por error manual y usar la recuperación de transmisión para evitar volver a crear tu de alta calidad desde cero durante el mantenimiento o una falla de la instancia principal. Por lo general, Datastream no admite conmutaciones por error a réplicas porque rompen la continuidad de binlog, pero puedes seguir estos pasos transmitir y asegurarse de que los datos de los cambios se capturen:
- Detén todas las operaciones de escritura en la instancia principal.
- Asegúrate de que la métrica de actualización de datos esté configurada en 0. Esto significa que Datastream capturó todos los cambios y no hay eventos nuevos para leer de la fuente. Para para obtener más información, consulta Cómo supervisar una transmisión.
- Conmuta por error a la instancia de base de datos nueva.
- Si es necesario, actualiza el perfil de conexión de la transmisión a la nueva instancia de base de datos. (por ejemplo, es posible que debas cambiar el nombre de host o la dirección IP de la base de datos). Para obtener más información, consulta Modifica perfiles de conexión.
- Recupera la transmisión de una posición específica en la instancia de conmutación por error para garantizar la continuidad de los CDC.