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:

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