OPZIONI DI RECUPERO

Valido per

Extract

Descrizione

Utilizzare il parametro FETCHOPTIONS per controllare determinati aspetti del modo in cui Oracle GoldenGate recupera i dati nelle circostanze riportate di seguito.

FETCHOPTIONS è specifico della tabella. Un'istruzione FETCHOPTIONS viene applicata per tutte le istruzioni TABLE successive fino a quando non viene rilevata un'istruzione FETCHOPTIONS diversa.

Le proprietà di recupero predefinite sono adeguate per la maggior parte delle installazioni.

Predefinito

Ignora righe mancanti e continua l'elaborazione

Sintassi

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

FETCHPKUPDATECOLS

Recupera tutte le colonne non disponibili quando viene aggiornata una chiave primaria. Questa opzione è disattivata per impostazione predefinita. Se disattivato, il recupero delle colonne viene eseguito in base ad altre opzioni FETCHOPTIONS abilitate.

Quando è attiva, diventa effettiva solo durante un aggiornamento a una colonna chiave primaria. I risultati sono gli stessi dell'utilizzo di (*) nell'istruzione TABLE. Le colonne LOB sono incluse nel recupero.

Utilizzare questo parametro quando si utilizza HANDLECOLLISIONS. Quando Replicat rileva un aggiornamento mancante, tutte le colonne saranno disponibili per trasformare l'aggiornamento in un inserimento.

MISSINGCOLS

Recupera le colonne mancanti dalle operazioni di aggiornamento ed eliminazione, incluse le colonne LOB. Questa opzione è valida solo per Oracle AI Database. Può avere un impatto negativo sul database e sulle prestazioni di Extract a causa di query aggiuntive per recuperare i dati. Soprattutto se sono presenti valori LOB di grandi dimensioni che devono essere recuperati e scritti nel trail.

L'impostazione di questo parametro equivale all'impostazione dei seguenti parametri:

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

L'impostazione di FETCHOPTIONS MISSINGCOLS è tuttavia in conflitto con i seguenti parametri:

FETCHOPTIONS NOFETCH
FETCHOPTIONS FETCHPKUPDATECOLS
COMPRESSDELETES
COMPRESSUPDATES
GETUPDATEBEFORES
LOGALLSUPCOLS

INCONSISTENTROW <action>

Indica che le informazioni della colonna sono state recuperate in base alla riga ID, ma la chiave non corrisponde. La riga ID è stata riciclata oppure si è verificato un aggiornamento della chiave primaria dopo questa operazione (e prima del recupero).

<action> può essere uno dei valori seguenti:

ALLOW

Consentire la condizione e continuare l'elaborazione.

IGNORE

Ignorare la condizione e continuare l'elaborazione. Si tratta dello stato predefinito.

REPORT

Riportare la condizione e il contenuto della riga nel file eliminato, ma continuare l'elaborazione della riga parziale.

DISCARD

Eliminare i dati e non elaborare la riga parziale.

ABEND

Eliminare i dati e interrompere l'elaborazione.

MAXFETCHSTATEMENTS <number>

Controlla il numero massimo consentito di query preparate che possono essere utilizzate da Extract per recuperare i dati delle righe da un database di origine. I dati recuperati vengono utilizzati quando non sono disponibili informazioni sufficienti per creare un'istruzione SQL logica da un record di log delle transazioni. Le query vengono preparate e inserite nella cache in base alle esigenze. Quando viene raggiunto il valore impostato con MAXFETCHSTATEMENTS, la query meno recente viene sostituita dalla query più recente. Il valore di questo parametro controlla il numero di cursori aperti gestiti da Extract solo per le query di recupero. I cursori aggiuntivi possono essere utilizzati da Extract per altri scopi, ad esempio quelli necessari per le stored procedure. Questo parametro è valido solo per Oracle AI Database. Il valore predefinito è 100 istruzioni. Assicurarsi che il database possa supportare il numero di cursori specificati, oltre ai cursori utilizzati da altre applicazioni e processi.

MISSINGROW <action>

Fornisce una risposta quando Oracle GoldenGate non riesce a individuare una riga da recuperare, rendendo disponibile solo una parte della riga (i valori modificati) per l'elaborazione. In genere non è possibile individuare una riga perché è stata eliminata tra la creazione del record di modifica e l'attivazione del recupero oppure perché l'immagine della riga richiesta era precedente alla specifica di conservazione degli undo.

<action> può essere uno dei valori seguenti:

ALLOW

Consentire la condizione e continuare l'elaborazione. Si tratta dello stato predefinito.

IGNORE

Ignorare la condizione e continuare l'elaborazione.

REPORT

Riportare la condizione e il contenuto della riga nel file eliminato, ma continuare l'elaborazione della riga parziale.

DISCARD

Eliminare i dati e non elaborare la riga parziale.

ABEND

Eliminare i dati e interrompere l'elaborazione.

NOFETCH

Impedisce a Extract di recuperare la colonna dal database. Questa opzione è disattivata per impostazione predefinita. Extract scrive il record nel trail, ma inserisce un token a indicare che la colonna è mancante.

SUPPRESSDUPLICATES

Valido per Oracle. Evita che le tablespace di destinazione diventino eccessivamente grandi quando vengono effettuati aggiornamenti su colonne LOB. Per impostazione predefinita, SUPPRESSDUPLICATES è impostato su disattivato. Ad esempio, dopo la replica una tablespace di origine di 232 MB diventa una tablespace di destinazione di 7.52GB.

USEKEY NOUSEKEY

Determina se Oracle GoldenGate utilizza o meno la chiave primaria per individuare la riga da recuperare.

Se vengono specificati sia USEKEY che USEROWID, ROWID assume la priorità per un accesso più rapido al record. USEROWID è l'impostazione predefinita.

USELATESTVERSION NOUSELATESTVERSION

Valido per Oracle. Utilizzare con USESNAPSHOT. L'impostazione predefinita, USELATESTVERSION, indica a Extract di recuperare i dati dalla tabella di origine se non è possibile recuperarli dalla tablespace di undo. NOUSELATESTVERSION indica a Extract di ignorare la condizione se il recupero dello snapshot non riesce e continua l'elaborazione.

Per fornire un'azione alternativa se il recupero di uno snapshot non riesce, utilizzare l'opzione MISSINGROW.

USESNAPSHOT NOUSESNAPSHOT

Valido per Oracle. L'impostazione predefinita, USESNAPSHOT, fa sì che Extract utilizzi il meccanismo Oracle Flashback per recuperare lo snapshot di dati corretto, necessario a ricreare determinate operazioni che non è stato possibile acquisire completamente dal redo record. NOUSESNAPSHOT induce Extract a recuperare i dati necessari dalla tabella di origine anziché dai log di flashback.

USEROWID NOUSEROWID

Valido per Oracle. Determina se Oracle GoldenGate utilizza la riga ID per individuare la riga da recuperare.

Se vengono specificati sia USEKEY che USEROWID, ROWID assume la priorità per un accesso più rapido al record. USEROWID è l'impostazione predefinita.

Esempi

Esempio 1

Di seguito viene indicato a Extract di recuperare i dati utilizzando la query di flashback e di ignorare la condizione e continuare l'elaborazione del record se il recupero non riesce.

FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION

Esempio 2

MAXFETCHSTATEMENTS 150

Esempio 3

Di seguito viene indicato a Extract di recuperare i dati utilizzando la query di flashback e viene eseguita l'interruzione di Extract se i dati non sono disponibili.

FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW ABEND