RECUPERAR OPCIONES
Válido para
Extracción
Descripción
Utilice el parámetro FETCHOPTIONS para controlar determinados aspectos de la forma en que Oracle GoldenGate recupera datos en las siguientes circunstancias:
-
Cuando el registro de transacción no contiene suficiente información para que Extract reconstruya una operación de actualización.
-
Cuando Oracle GoldenGate debe recuperar un valor de columna como resultado de una cláusula
MISSINGCOLSde una sentenciaTABLE.
FETCHOPTIONS es específico de la tabla. Una sentencia FETCHOPTIONS se aplica a todas las sentencias TABLE posteriores hasta que se encuentre una sentencia FETCHOPTIONS diferente.
Las propiedades de recuperación por defecto son adecuadas para la mayoría de las instalaciones.
Valor por defecto
Ignorar filas que faltan y continuar con el procesamiento
Sintaxis
FETCHOPTIONS
[, FETCHPKUPDATECOLS]
[, MISSINGCOLS]
[, INCONSISTENTROW <action>]
[, MAXFETCHSTATEMENTS <number>]
[, MISSINGROW <action>]
[, NOFETCH]
[, SUPPRESSDUPLICATES]
[, USEKEY | NOUSEKEY]
[, USELATESTVERSION | NOUSELATESTVERSION]
[, USESNAPSHOT | NOUSESNAPSHOT]
[, USEROWID | NOUSEROWID]
FETCHPKUPDATECOLS
Recupera todas las columnas no disponibles cuando se actualiza una clave primaria. Esta opción está desactivada por defecto. Cuando está desactivado, la recuperación de columnas se realiza según otras opciones FETCHOPTIONS que estén activadas.
Cuando está activado, solo se aplica durante una actualización a una columna de clave primaria. Los resultados son los mismos que utilizar (*) en la sentencia TABLE. Las columnas LOB se incluyen en la recuperación.
Utilice este parámetro al utilizar HANDLECOLLISIONS. Cuando Replicat detecte que falta una actualización, todas las columnas estarán disponibles para convertir la actualización en una inserción.
MISSINGCOLS
Recupera las columnas que faltan de las operaciones de actualización y supresión, incluidas las columnas LOB. Esta opción solo es válida para Oracle AI Database. Puede afectar negativamente al rendimiento de la base de datos y Extract debido a consultas adicionales para recuperar los datos. Especialmente si hay grandes valores LOB que se deben recuperar y escribir en la pista.
La definición de este parámetro es la misma que la definición de los siguientes parámetros:
MISSINGCOLS(*) in the TABLE statement
NOCOMPRESSDELETES FETCHMISSINGCOLS
GETUPDATEBEFORES
NOCOMPRESSUPDATES
LOGALLSUPCOLS
Sin embargo, la definición de FETCHOPTIONS MISSINGCOLS entra en conflicto con los siguientes parámetros:
FETCHOPTIONS NOFETCH
FETCHOPTIONS FETCHPKUPDATECOLS
COMPRESSDELETES
COMPRESSUPDATES
GETUPDATEBEFORES
LOGALLSUPCOLS
INCONSISTENTROW <action>
Indica que el dato de columna se ha recuperado correctamente por fila ID, pero la clave no coincide. La fila ID se ha reciclado o se ha producido una actualización de clave primaria después de esta operación (y antes de la recuperación).
<action> puede ser uno de los siguientes:
ALLOW
Permita la condición y continúe con el procesamiento.
IGNORE
Ignore la condición y continúe con el procesamiento. Éste es el estado por defecto.
REPORT
Informe de la condición y el contenido de la fila al archivo de desecho, pero continúe procesando la fila parcial.
DISCARD
Deseche los datos y no procese la fila parcial.
ABEND
Deseche los datos y salga del procesamiento.
MAXFETCHSTATEMENTS <number>
Controla el número máximo permitido de consultas preparadas que puede utilizar Extract para recuperar datos de fila de una base de datos origen. Los datos recuperados se utilizan cuando no hay suficiente información disponible para construir una sentencia SQL lógica a partir de un registro de log de transacciones. Las consultas se preparan y almacenan en caché según sea necesario. Cuando se alcanza el juego de valores con MAXFETCHSTATEMENTS, la consulta más antigua se sustituye por la más reciente. El valor de este parámetro controla el número de cursores abiertos mantenidos por Extract solo para consultas de recuperación. Extract puede utilizar cursores adicionales para otros fines, como los necesarios para los procedimientos almacenados. Este parámetro solo es válido para Oracle AI Database. El valor por defecto es 100 sentencias. Asegúrese de que la base de datos puede soportar el número de cursores especificados, además de los cursores utilizados por otras aplicaciones y procesos.
MISSINGROW <action>
Proporciona una respuesta cuando Oracle GoldenGate no puede localizar una fila que se va a recuperar, lo que hace que solo una parte de la fila (los valores modificados) esté disponible para su procesamiento. Normalmente, no se puede ubicar una fila porque se suprimió entre el momento en que se creó el registro de cambio y el momento en que se disparó la recuperación, o porque la imagen de fila necesaria era anterior a la especificación de retención de deshacer.
<action> puede ser una de las siguientes opciones:
ALLOW
Permita la condición y continúe con el procesamiento. Éste es el estado por defecto.
IGNORE
Ignore la condición y continúe con el procesamiento.
REPORT
Informe de la condición y el contenido de la fila al archivo de desecho, pero continúe procesando la fila parcial.
DISCARD
Deseche los datos y no procese la fila parcial.
ABEND
Deseche los datos y salga del procesamiento.
NOFETCH
Impide que Extract recupere la columna de la base de datos; esta opción está desactivada por defecto. Extract escribe el registro en la pista, pero inserta un token que indica que falta la columna.
SUPPRESSDUPLICATES
Válido para Oracle. Evita que los tablespaces de destino alcancen un tamaño excesivo cuando se realizan actualizaciones en columnas LOB. Por defecto, SUPPRESSDUPLICATES está definido en Off. Por ejemplo, después de la replicación, un tablespace de origen de 232 MB se convierte en un tablespace de destino de 7.52GB.
USEKEY |
NOUSEKEY |
Determina si Oracle GoldenGate utiliza o no la clave primaria para localizar la fila que se va a recuperar.
Si se especifican USEKEY y USEROWID, ROWID tiene prioridad para un acceso más rápido al registro. USEROWID es el valor por defecto.
USELATESTVERSION |
NOUSELATESTVERSION |
Válido para Oracle. Se utiliza con USESNAPSHOT. El valor por defecto, USELATESTVERSION, indica a Extract que recupere datos de la tabla de origen si no puede recuperarlos del tablespace de deshacer. NOUSELATESTVERSION indica a Extract que ignore la condición si falla la recuperación de la instantánea y continúe el procesamiento.
Para proporcionar una acción alternativa si una recuperación de instantánea no se realiza correctamente, utilice la opción MISSINGROW.
USESNAPSHOT |
NOUSESNAPSHOT |
Válido para Oracle. El valor por defecto, USESNAPSHOT, hace que Extract utilice el mecanismo de de Oracle Flashback para recuperar la instantánea correcta de datos necesaria para reconstruir determinadas operaciones que no se pueden capturar completamente del registro de redo. NOUSESNAPSHOT hace que Extract recupere los datos necesarios de la tabla de origen en lugar de los logs de flashback.
USEROWID |
NOUSEROWID |
Válido para Oracle. Determina si Oracle GoldenGate utiliza o no la fila ID para localizar la fila que se va a recuperar.
Si se especifican USEKEY y USEROWID, ROWID tiene prioridad para un acceso más rápido al registro. USEROWID es el valor por defecto.
Ejemplos
Ejemplo 1
Lo siguiente indica a Extract que recupere datos mediante la consulta de flashback e ignore la condición y continúe procesando el registro si falla la recuperación.
FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION
Ejemplo 2
MAXFETCHSTATEMENTS 150
Ejemplo 3
Lo siguiente indica a Extract que recupere datos mediante la consulta de flashback y hace que Extract finalice de forma anormal si los datos no están disponibles.
FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW ABEND