OPTIONS D'EXTRACTION

Durée de validité

Extraction

Description

Utilisez le paramètre FETCHOPTIONS pour contrôler certains aspects de la façon dont Oracle GoldenGate extrait les données dans les cas suivants :

FETCHOPTIONS est propre à une table. Une instruction FETCHOPTIONS s'applique à toutes les instructions TABLE suivantes jusqu'à ce qu'une autre instruction FETCHOPTIONS soit rencontrée.

Les propriétés d'extraction par défaut conviennent à la plupart des installations.

Valeur par défaut

Ignorer les lignes manquantes et poursuivre le traitement

Syntaxe

FETCHOPTIONS
[, FETCHPKUPDATECOLS]
[, MISSINGCOLS]
[, INCONSISTENTROW <action>]
[, MAXFETCHSTATEMENTS <number>]
[, MISSINGROW <action>]
[, NOFETCH]
[, SUPPRESSDUPLICATES]
[, USEKEY | NOUSEKEY]
[, USELATESTVERSION | NOUSELATESTVERSION]
[, USESNAPSHOT | NOUSESNAPSHOT]
[, USEROWID | NOUSEROWID]

FETCHPKUPDATECOLS

Extrait toutes les colonnes non disponibles lorsqu'une clé primaire est mise à jour. Cette option est désactivée par défaut. Lorsque cette option est désactivée, l'extraction de colonne est effectuée en fonction des autres options FETCHOPTIONS activées.

Lorsque cette option est activée, elle ne prend effet que lors de la mise à jour d'une colonne de clé primaire. Les résultats sont identiques à ceux de l'utilisation d'un astérisque (*) dans l'instruction TABLE. Les colonnes LOB sont incluses dans l'extraction.

Utilisez ce paramètre lorsque vous utilisez HANDLECOLLISIONS. Lorsque le processus Replicat détecte une mise à jour manquante, toutes les colonnes sont disponibles pour transformer la mise à jour en insertion.

MISSINGCOLS

Extrait les colonnes manquantes des opérations de mise à jour et de suppression, y compris les colonnes LOB. Cette option n'est valide que pour Oracle AI Database. Elle peut avoir un impact négatif sur les performances de la base de données et de l'extraction en raison de requêtes supplémentaires pour extraire les données. Surtout si des valeurs LOB volumineuses doivent être extraites et écrites dans la trace.

La définition de ce paramètre est identique à celle des paramètres suivants :

MISSINGCOLS(*) in the TABLE statement
NOCOMPRESSDELETES FETCHMISSINGCOLS
GETUPDATEBEFORES
NOCOMPRESSUPDATES
LOGALLSUPCOLS

Toutefois, la définition de FETCHOPTIONS MISSINGCOLS est en conflit avec les paramètres suivants :

FETCHOPTIONS NOFETCH
FETCHOPTIONS FETCHPKUPDATECOLS
COMPRESSDELETES
COMPRESSUPDATES
GETUPDATEBEFORES
LOGALLSUPCOLS

INCONSISTENTROW <action>

Indique que les données de colonne ont été extraites par la ligne ID, mais la clé ne concorde pas. La ligne ID a été recyclée ou une mise à jour de clé primaire s'est produite après cette opération (et avant l'extraction).

<action> peut être l'une des valeurs suivantes :

ALLOW

Autorisez la condition et poursuivez le traitement.

IGNORE

Ignorez la condition et poursuivez le traitement. Il s'agit de la fonction par défaut.

REPORT

Signalez la condition et le contenu de la ligne dans le fichier de rebut, mais continuez à traiter la ligne partielle.

DISCARD

Ignorez les données et ne traitez pas la ligne partielle.

ABEND

Supprimez les données et quittez le traitement.

MAXFETCHSTATEMENTS <number>

Contrôle le nombre maximal autorisé de requêtes préparées pouvant être utilisées par le processus Extract pour extraire des données de ligne d'une base de données source. Les données extraites sont utilisées lorsqu'il n'y a pas assez d'informations disponibles pour construire une instruction SQL logique à partir d'un enregistrement de journal de transactions. Les requêtes sont préparées et mises en cache selon les besoins. Lorsque la valeur définie avec MAXFETCHSTATEMENTS est atteinte, la requête la plus ancienne est remplacée par la plus récente. La valeur de ce paramètre contrôle le nombre de curseurs ouverts gérés par le processus Extract pour les requêtes d'extraction uniquement. Les curseurs supplémentaires peuvent être utilisés par le processus Extract à d'autres fins, telles que celles requises pour les procédures stockées. Ce paramètre n'est valide que pour Oracle AI Database. La valeur par défaut est 100 instructions. Assurez-vous que la base de données peut prendre en charge le nombre de curseurs indiqués, ainsi que les curseurs utilisés par d'autres applications et processus.

MISSINGROW <action>

Fournit une réponse lorsqu'Oracle GoldenGate ne parvient pas à localiser une ligne à extraire, ce qui rend seulement une partie de la ligne (les valeurs modifiées) disponible pour traitement. En général, une ligne ne peut pas être localisée car elle a été supprimée entre la création de l'enregistrement de modification et le déclenchement de l'extraction, ou parce que l'image de ligne requise était antérieure à la spécification de conservation des informations d'annulation.

<action> peut être l'une des valeurs suivantes :

ALLOW

Autorisez la condition et poursuivez le traitement. Il s'agit de la fonction par défaut.

IGNORE

Ignorez la condition et poursuivez le traitement.

REPORT

Signalez la condition et le contenu de la ligne dans le fichier de rebut, mais continuez à traiter la ligne partielle.

DISCARD

Ignorez les données et ne traitez pas la ligne partielle.

ABEND

Supprimez les données et quittez le traitement.

NOFETCH

Empêche le processus Extract d'extraire la colonne de la base de données. Cette option est désactivée par défaut. L'extraction écrit l'enregistrement dans la trace, mais insère un jeton indiquant que la colonne est manquante.

SUPPRESSDUPLICATES

Valide pour Oracle. Evite que les tablespaces cible deviennent trop volumineux lorsque des mises à jour sont effectuées sur les colonnes LOB. Par défaut, SUPPRESSDUPLICATES est défini sur Off (désactivé). Par exemple, après la réplication, un tablespace source de 232 Mo devient un tablespace cible de 7.52GB.

USEKEY NOUSEKEY

Détermine si Oracle GoldenGate utilise ou non la clé primaire pour localiser la ligne à extraire.

Si USEKEY et USEROWID sont indiqués, ROWID est prioritaire pour un accès plus rapide à l'enregistrement. USEROWID est la valeur par défaut.

USELATESTVERSION NOUSELATESTVERSION

Valide pour Oracle. A utiliser avec USESNAPSHOT. La valeur par défaut, USELATESTVERSION, indique au processus Extract d'extraire les données de la table source s'il ne peut pas les extraire du tablespace d'annulation. NOUSELATESTVERSION indique à l'extraction d'ignorer la condition en cas d'échec de l'extraction de cliché et de poursuivre le traitement.

Pour fournir une autre action si une extraction de cliché échoue, utilisez l'option MISSINGROW.

USESNAPSHOT NOUSESNAPSHOT

Valide pour Oracle. La valeur par défaut, USESNAPSHOT, permet au processus d'extraction d'utiliser le mécanisme Oracle Flashback pour extraire le cliché de données approprié nécessaire à la reconstruction de certaines opérations qui ne peuvent pas être entièrement capturées à partir de l'enregistrement redo. NOUSESNAPSHOT permet au processus Extract d'extraire les données requises de la table source au lieu des journaux Flashback.

USEROWID NOUSEROWID

Valide pour Oracle. Détermine si Oracle GoldenGate utilise ou non la ligne ID pour localiser la ligne à extraire.

Si USEKEY et USEROWID sont indiqués, ROWID est prioritaire pour un accès plus rapide à l'enregistrement. USEROWID est la valeur par défaut.

Exemples

Exemple 1

La commande suivante indique au processus Extract d'extraire des données à l'aide de Flashback Query, d'ignorer la condition et de poursuivre le traitement de l'enregistrement en cas d'échec de l'extraction.

FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION

Exemple 2

MAXFETCHSTATEMENTS 150

Exemple 3

La commande suivante indique au processus Extract d'extraire des données à l'aide de Flashback Query et entraîne l'abandon du processus Extract si les données ne sont pas disponibles.

FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW ABEND