ALTER EXTRACT

Utilizzare ALTER EXTRACT per i seguenti scopi:

Prima di utilizzare questo comando, arrestare Extract con il comando STOP EXTRACT group_name.

Sintassi

ALTER EXTRACT group-name
         [, BEGIN {NOW | yyyy-mm-dd[ hh:mi:[ss[.cccccc]]]} |
|            [, EXTRBA archive-offset-number]
|            [, ADD_EXTRACT_attribute  | SCN value]
|            [, LSN
|            [, EOL
|            [, DESC
|            [ CRITICAL    [ YES | NO ]     ]
|            [ ENCRYPTIONPROFILE     encryption-profile-name]
|            [ PROFILE
|                [ AUTOSTART   [ YES | NO ]
|                  [ DELAY     delay-number   ] ]
|                  [ AUTORESTART [ YES | NO ]
|                       [ RETRIES          retries-number ]
|                       [ WAITSECONDS      wait-number    ]
|                       [ RESETSECONDS     reset-number   ]
|                       [ DISABLEONFAILURE [ YES | NO ] ] ] ]
|             [ LOGNUM lognum]
|             [ LOGPOS logpos

Di seguito sono riportate le opzioni ALTER EXTRACT supportate per Db2 per i per posizionare Extract per un diario specificato:

ALTER EXTRACT {BEGIN {NOW | yyyy-mm-ddT[ hh:mi:[ss[.cccccc]]Z]}
[JOURNAL journal_library/journal_name [JRNRCV receiver_library/
  receiver_name]] |
, EOL [JOURNAL journal_library/journal_name
  [JRNRCV receiver_library/receiver_name]] |
, SEQNO sequence_number [JOURNAL journal_library/journal_name
  [JRNRCV receiver_library/receiver_name]]}

BEGIN {NOW | yyyy-mm-ddT[ hh:mi:[ss[.cccccc]]]Z} [JOURNAL journal_library/journal_name [JRNRCV receiver_library/ receiver_name]] | , EOL [JOURNAL journal_library/journal_name [JRNRCV receiver_library/receiver_name]] | , SEQNO sequence_number [JOURNAL journal_library/journal_name [JRNRCV receiver_library/receiver_name]]

Queste opzioni IBM per i consentono di posizionare l'estrazione specifica del diario dopo il punto di inizio globale impostato con ADD EXTRACT. La posizione diario specifica impostata con ALTER EXTRACT non ha effetto sull'eventuale posizione globale impostata in precedenza con ADD EXTRACT o ALTER EXTRACT; tuttavia, una posizione globale impostata con ALTER EXTRACT sostituisce tutte le posizioni di diario specifiche impostate precedentemente nella stessa configurazione Extract.

Nota: SEQNO, se utilizzato con un giornale in `ALTER

          EXTRACT`, is the journal sequence number that is relative to that specific journal, not the system sequence number that is global across journals.
          {: .infoboxnote}

group-name

Nome del gruppo Extract da modificare.

{BEGIN {NOW Tyyyy-mm-dd[ hh:mi:[ss[.cccccc]]]Z}

NOW

Per tutti i database ad eccezione di Db2 LUW, NOW specifica quando è stato eseguito il comando ALTER EXTRACT.

NOW specifica l'ora di esecuzione del comando ALTER EXTRACT.

Per Db2 LUW, solo i record di commit e di fine delle transazioni contengono gli indicatori orari e pertanto la posizione iniziale di Extract può essere calcolata solo rispetto a tali indicatori orari. Si tratta di un limite dell'interfaccia API utilizzata da Oracle GoldenGate. È tuttavia necessario tenere presente che il posizionamento in base all'indicatore orario non è accurato e può anche richiedere molto tempo. Quando è possibile, si consiglia di utilizzare le opzioni LRI o EOL.

YYYY-MM-DDThh:mm:ssZ

Data e ora (indicatore orario) nel formato specificato. Ad esempio, 2017-07-14T14:54:45Z.

yyyy-mm-dd[ hh:mi:[ss[.cccccc]]]

Data e ora (indicatore orario) nel formato specificato. Per Oracle Extract in modalità integrata, il valore dell'indicatore orario deve essere successivo al valore dell'indicatore orario di registrazione di Extract con il database.

Il posizionamento in base all'indicatore orario in un log delle transazioni di SQL Server è condizionato dalle caratteristiche di SQL Server riportate di seguito.

Il posizionamento su un numero LSN è preciso.

Il posizionamento in base all'indicatore orario in PostgreSQL prevede gli scenari riportati di seguito.

START

Valido per PostgreSQL.

Aggiunge un processo Extract senza specificare BEGIN NOW o LSN. Il processo Extract verrà avviato in modo automatico dalla posizione di riavvio dello slot di replica.

ADD_EXTRACT_attribute

È possibile modificare qualsiasi attributo specificato con il comando ALTER EXTRACT, con le eccezioni seguenti:

Per queste eccezioni, eliminare il gruppo Extract e aggiungerlo di nuovo.

Se si utilizza l'opzione BEGIN, non combinare altre opzioni nell'istruzione. Eseguire istruzioni separate, ad esempio:

ALTER EXTRACT exte, BEGIN 2019-01-01
ALTER EXTRACT exte, ETROLLOVER
ALTER EXTRACT exte, SCN 789000

Se si utilizza l'opzione SCN o BEGIN per Integrated Extract, è necessario eseguire il comando DBLOGIN e il valore SCN o dell'indicatore orario specificato non può essere inferiore al primo SCN o dell'indicatore orario il server in uscita. Per individuare il primo SCN del server in uscita, eseguire il comando seguente:

INFO EXTRACT group_name, SHOWCH DETAIL

Il valore del primo SCN viene elencato come mostrato nell'esempio seguente:

Integrated Extract outbound server first scn: 0.665884 (665884)

EXTRBA offset_number

Valido per Db2 z/OS.

Specifica l'indirizzo byte relativo all'interno di un log delle transazioni in corrispondenza del quale iniziare l'acquisizione dei dati.

Il formato richiesto è 0Xnnn, dove nnn rappresenta un valore esadecimale di 1 e 20 cifre (il primo carattere è il numero zero e il secondo carattere può essere la lettera x maiuscola o minuscola).

EOL

Valido per Db2 per i, Db2 LUW, MySQL, PostgreSQL e SQL Server.

Configura l'elaborazione in modo che abbia inizio alla fine dei file di log (o dei diari) in cui verrà scritto il record successivo. Le eventuali transazioni attive non verranno acquisite.

Per Db2 LUW, configura l'elaborazione in modo che abbia inizio nella corrispondenza del valore LRI attivo nei file di log. il valore LRI attivo è la posizione alla fine dei file in cui verrà scritto il record successivo. Le eventuali transazioni attive non verranno acquisite.

Per PostgreSQL, il comando DBLOGIN è obbligatorio per la posizione in base a EOL.

Per MySQL, trova la posizione corrispondente alla fine del file e inizia a leggere le transazioni da tale posizione. La posizione EOL non è esatta se i dati vengono scritti in modo costante nel log binario.

TRANLOG LRI LRI_number

(Db2 LUW) È possibile utilizzare questa opzione per i sistemi Db2 LUW per specificare il valore del record LRI per il log delle transazioni di checkpoint.

Per PostgreSQL, il comando DBLOGIN è obbligatorio per la posizione in base a EOL.

REPORT file_name

Specifica il nome percorso completo di un file report Extract in una posizione diversa dall'impostazione predefinita dirrpt all'interno della directory di Oracle GoldenGate.

SCN value

Valido per Oracle.

Avvia Extract in corrispondenza della transazione del redo log con il numero SCN (System Change Number) specificato. Per Extract, il valore SCN deve essere maggiore del numero SCN di registrazione di Extract con il database. Per l'esecuzione dell'opzione SCN o BEGIN, è necessario utilizzare il comando DBLOGIN e il valore SCN o dell'indicatore orario specificato non può essere inferiore al primo SCN o all'indicatore orario specificato del server in uscita.

LSN value

Valido per Db2 z/OS, PostgreSQL e SQL Server.

Specifica il numero LSN di transazione in corrispondenza della quale avviare l'acquisizione dei dati. Un alias per questa opzione è EXTLSN.

Per Db2 z/OS, il valore LSN può essere una serie di cifre esadecimali o decimali. Se è in formato esadecimale, deve avere il prefisso 0X o 0x seguito da 1 a 20 cifre esadecimali: 0-9, a-g o A-G. Se è in formato decimale, non ha alcun prefisso ed è composto da 1 a 25 cifre decimali comprese tra 0 e 9.

Per PostgreSQL, il valore LSN può essere hi o lo. Impostare il valore hi per il punto di inserimento del file di log. Lo è l'offset nel file di log. La posizione di LSN deve trovarsi tra la posizione di riavvio dello slot di replica e quella corrente dello slot di immissione suggerita. Se la posizione specificata stessa si trova nell'intervallo indicato, Extract restituirà un errore.

Per SQL Server, LSN specifica il numero LSN di transazione in corrispondenza della quale avviare l'acquisizione dei dati. Un alias per questa opzione è EXTLSN.

Il valore di LSN specificato deve esistere come tran_begin_lsn valido reperibili nella tabella di sistema cdc.lsn_time_mapping, altrimenti Extract tenterà di eseguire il posizionamento dopo il valore LSN fornito.

Le specifiche LSN valide per SQL Server sono costituite da:

Per trovare il valore LSN minimo disponibile eseguire una query:

SELECT min([tran_begin_lsn]) FROM [cdc].[lsn_time_mapping] with (nolock) where tran_id <> 0x00

Gli esempi seguenti mostrano l'uso del valore LSN per Db2 z/OS:

Esempio 1:

ALTER EXTRACT extn TRANLOG, LSN 0xDEE40E4F27A3245400

Esempio 2:

ALTER EXTRACT extn TRANLOG, LSN 22216433159121980904448

Gli esempi seguenti mostrano il valore LSN per SQL Server:

ALTER EXTRACT extn TRANLOG, LSN 0X00000d7e:0000036b:0001

LOGNUM

Valido per MySQL.

Il numero del file di log. Ad esempio, se il nome di file di log necessario è test.000034, il valore di LOGNUM è 34. Extract cercherà questo file di log. Nota: nell'architettura dei microservizi il comando ALTER EXTRACT non riuscirà se il valore di LOGNUM è precedente a zeri. Ad esempio, ALTER EXTRACT ext1, TRANLOG, LOGNUM 000001, LOGPOS 0 non riuscirà. Per la buona riuscita di questo esempio, impostare LOGNUM su 1.

LOGPOS

Valido per MySQL.

Valore di offset di un evento nel file di log che identifica un record di transazione specifico. I valori di offset degli eventi vengono memorizzati nella sezione dell'intestazione di un record di log. Per posizionare all'inizio di un file binlog, impostare LOGPOS su 0.

ETROLLOVER

Utilizzare questa opzione per le situazioni di recupero manuale che richiedono il riposizionamento e la rigenerazione dei file di trail per un Extract primario e l'upgrade di Oracle GoldenGate da una versione precedente.

Induce Extract a creare una nuova copia del file di trail e passa al file successivo nella sequenza trail al riavvio, richiedendo il riposizionamento manuale dei processi di lettura quali Data Pump o Replicat sul nuovo numero della sequenza trail.

Con ETROLLOVER, Extract acquisisce tutti i record dopo l'SCN specificato con cui Extract viene avviato, che siano o meno già stati acquisiti e scritti o meno nel trail. Senza ETROLLOVER, Extract ignorerà l'acquisizione dei record già acquisiti e scritti nel trail.

A partire dalla release 19c, durante l'elaborazione del servizio di distribuzione vengono effettuate le operazioni elencate di seguito.

DESC ‘description’

Specifica una descrizione del gruppo, ad esempio 'Extracts account_tab on Serv1'. Racchiudere la descrizione tra apici. È possibile utilizzare la parola chiave abbreviata DESC o la parola completa DESCRIPTION.

ENCRYPTIONPROFILE

Specifica il nome del profilo di cifratura per Extract. Questo nome fa distinzione tra maiuscole e minuscolo per il nome, è necessario utilizzare il nome esatto immesso con ADD EXTRACT.

GTIDSET gtidset

Valido per MySQL.

Specifica il posizionamento iniziale di Extract utilizzando l'opzione relativa al tipo di posizione del set GTID per l'acquisizione basata su GTID per MySQL. Le origini MySQL supportate per il set GTID sono MySQL Server 8.0, MySQL Server 5.7 e MySQL Database Service (MDS). La dimensione massima supportata per il set GTID è 64 KB.

Sintassi:

ALTER EXTRACT extract_name, TRANLOG, GTIDSET gtidset

L'esempio seguente include tutte le combinazioni dei formati validi del set GTID.

Esempio 1:

ALTER EXTRACT exte, TRANLOG, GTIDSET "E11FA47-71CA-11E1-9E33-C80AA9429562:4"

Esempio 2:

ALTER EXTRACT exts, TRANLOG, GTIDSET "3E11FA47-71CA-11E1-9E33-C80AA9429562:1-10"

Esempio 3:

ALTER EXTRACT extn, TRANLOG, GTIDSET "3E11FA47-71CA-11E1-9E33-C80AA9429562:1-3:11:47-49"

Esempio 4:

ALTER EXTRACT extw, TRANLOG, GTIDSET "2174B383-5441-11E8-B90A-C80AA9429562:1-3,24DA167-0C0C-11E8-8442-00059A3C7B00:1-19"

Nota: come mostrato nell'esempio 4, quando il set GTID contiene più uuid, per formare una richiesta API REST, questo set GTID viene suddiviso in più set GTID utilizzando il separatore di virgole.

CRITICAL

Indica se il processo è di importanza critica per la distribuzione.

PROFILE

Nome del profilo di avvio automatico. Questo nome fa distinzione tra maiuscole e minuscolo per il nome, è necessario utilizzare il nome esatto immesso con ALTER EXTRACT.

AUTOSTART

Specifica se il processo gestito deve essere avviato in modo automatico all'avvio del servizio di amministrazione. Il valore predefinito è YES.

RETRIES

Numero massimo di tentativi per il riavvio del task prima di annullare gli sforzi di nuovi tentativi. Questa opzione è facoltativa.

WAITSECONDS

Il periodo di tempo, in secondi, durante il quale vengono contati i nuovi tentativi.

RESETSECONDS

Reimposta il periodo di tempo durante il quale vengono contati i nuovi tentativi.

DISABLEONFAILURE

Quando l'impostazione è TRUE, il task viene disabilitato all'esaurimento del numero dei nuovi tentativi consentiti.

INFO EXTRACT group-name, SHOWCH DETAIL

Il valore del primo SCN viene elencato come mostrato nell'esempio seguente:

Integrated Extract outbound server first scn: 0.665884 (665884)

Esempi


Il comando seguente modifica il gruppo Extract per avviare l'elaborazione dei dati dal 1°gennaio 2019.

ALTER EXTRACT exte, BEGIN 2019-01-01

Il comando seguente modifica il gruppo Extract per avviare l'elaborazione in corrispondenza di una posizione specifica nel trail.

ALTER EXTRACT exte, EXTSEQNO 26, EXTRBA 338

Il comando seguente modifica il gruppo Extract in un ambiente SQL Server per l'avvio in corrispondenza di un LSN specifico.

ALTER EXTRACT exte, LSN 0Xd7e:36b:1

Il comando seguente modifica il gruppo Extract per passare al file successivo nella sequenza del trail.

ALTER EXTRACT exte, ETROLLOVER

Il comando seguente modifica il gruppo Extract per eseguire l'upgrade all'acquisizione integrata.

ALTER EXTRACT exte, UPGRADE INTEGRATED TRANLOG

Il seguente comando utilizza ETROLLOVER per impedire che i record duplicati siano filtrati con l'SCN precedente, 778899.

ALTER EXTRACT exte, SCN 778899
ALTER EXTRACT exte ETROLLOVER
START EXTRACT exte

Se non si utilizza ETROLLOVER e si modifica Extract usando il valore SCN precedente, i record duplicati non verranno elaborati. Di seguito è riportato il comando che consente di modificare Extract in modo da filtrare i record duplicati:

ALTER EXTRACT exte, SCN 778899
START EXTRACT exte

Nell'esempio seguente è illustrato ALTER EXTRACT per un punto iniziale di diario per IBM per i.

ALTER EXTRACT exte, SEQNO 1234  JOURNAL accts/acctsjrn

Nell'esempio seguente è illustrato ALTER EXTRACT per un punto iniziale di diario e ricezione per IBM per i.

ALTER EXTRACT exte, SEQNO 1234 JOURNAL accts/acctsjrn JRNRCV accts/jrnrcv0005

Nell'esempio seguente viene modificato un gruppo Extract in un sistema Db2 LUW.

ALTER EXTRACT exte, TRANLOG LRI 8066.322711

Nell'esempio seguente vengono mostrate le opzioni di ALTER EXTRACT utilizzate con PostgreSQL:

ALTER EXTRACT exte, EOL
ALTER EXTRACT POSTEXT, LSN 0/156784
ALTER EXTRACT POSTEXT, BEGIN 2022-02-18T14:50:43.4230Z