Manejo de Errores Transitorios y Permanentes en Replicat para Google Spanner
Google Spanner tiene dos categorías de errores: transitorio o permanente. Mientras que los errores transitorios se pueden reintentar, los errores permanentes no se pueden resolver simplemente reintentándolos. Es necesario realizar la acción correctiva antes de reintentar la transacción.
Obtenga información sobre los detalles de los errores temporales y permanentes y su manejo en Oracle GoldenGate Replicat.
Manejo de Errores de Replicat durante Operaciones DML para Google Spanner
En Spanner, si un DML da como resultado un error (ya sea transitorio o permanente) dentro de una transacción, esa transacción se convierte en no válida e inutilizable. La misma transacción no se puede confirmar parcialmente ni se puede reintentar.
Todos los DML de esa transacción se deben reintentar mediante un nuevo objeto de transacción. Solo el DML fallido no se puede reintentar en una transacción no válida.
Para la clave primaria duplicada y la fila no encontrada, se debe utilizar el nivel de DML REPERROR. Para todos los demás errores de Google Cloud Spanner, se utiliza el manejo de nivel de transacción REPERROR.
Para todos los demás errores de Spanner, solo está soportado el manejo de nivel de transacción REPERROR. Las acciones REPERROR soportadas para Google Cloud Spanner son TRANSDISCARD, TRANSEXCEPTION, TRANSABORT.
Consulte REPERROR en la Referencia de parámetros y funciones para Oracle GoldenGate.
Manejo de errores transitorios
Los errores temporales indican condiciones temporales que tienen muchas posibilidades de éxito al reintentar. Al detectar dichos errores, se recomienda que vuelva a intentar la transacción con REPERROR.
A continuación, se muestra la estrategia REPERROR para gestionar errores transitorios:
Sintaxis:
REPERROR (*status code*, TRANSABORT, MAXRETRIES *n*, DELAYSECS *n*)
-
TRANSABORT: vuelva a intentar toda la transacción. -
MAXRETRIES: se resuelve en 3-5 reintentos. -
DELAYSECS: retroceso aplicado por Replicat.
Manejo de errores permanentes
Cuando se detectan errores permanentes, Oracle GoldenGate Replicat finaliza de forma anormal con un error después de realizar un rollback de la transacción. Debe corregir el problema subyacente en la base de datos de Spanner antes de reiniciar Replicat.