Dettagli aggiuntivi tabelle checkpoint
Quando si utilizzano i checkpoint del database, Oracle GoldenGate crea una tabella di checkpoint con un nome definito dall'utente nel database all'esecuzione del comando ADD CHECKPOINTTABLE oppure un utente può creare la tabella utilizzando il comando chkpt_db_create.sql script (dove db è un'abbreviazione del tipo di database supportato dallo script).
Sono disponibili due tabelle: la tabella dei checkpoint principale e una tabella dei checkpoint ausiliari creata automaticamente. La tabella ausiliaria, nota come tabella delle transazioni, riporta il nome della tabella di checkpoint principale aggiunta a _lox. Ogni Replicat, o ogni thread di un Replicat coordinato, utilizza una riga nella tabella dei checkpoint per memorizzare le relative informazioni di avanzamento.
Al momento del checkpoint, in genere ci sono un certo numero di transazioni (tra il totale n transazioni) che sono state applicate e le altre sono ancora in corso. Ad esempio, se Replicat sta elaborando un gruppo di n transazioni che vanno da CSN1 a CSN3. CSN1 è la filigrana alta e CSN3 è la filigrana bassa. Qualsiasi transazione con un CSN superiore alla filigrana alta non è stata elaborata e qualsiasi transazione con un CSN inferiore alla filigrana bassa è già stata elaborata. Le transazioni completate vengono memorizzate nella colonna LOG_CMPLT_XID della tabella dei checkpoint. Qualsiasi overflow di queste transazioni viene memorizzato nella tabella delle transazioni (tabella dei checkpoint ausiliari) nella colonna LOG_CMPLT_XID di tale tabella.
Attualmente, Replicat (o ogni thread Replicat di un Replicat coordinato) applica le transazioni in serie (non in parallelo); pertanto, la filigrana alta (il valore LOG_CSN nella tabella) è sempre la stessa della filigrana bassa (il valore LOG_CMPLT_CSN nella tabella) e in genere c'è un solo ID transazione nella colonna LOG_CMPLT_XID. L'unica eccezione è rappresentata dalla presenza di più transazioni che condividono lo stesso CSN.
Non modificare i nomi o gli attributi delle colonne in queste tabelle. È possibile modificare gli attributi di memorizzazione delle tabelle in base alle esigenze.
| Colonna | Descrizione |
|---|---|
|
LOG_BSN fornisce le informazioni necessarie per reimpostare Extract in tempo per rielaborare le transazioni. Alcuni filtri in base a Replicat sono necessari perché Extract probabilmente genererà di nuovo una piccola quantità di dati già applicati da Replicat. |
|
Versione del formato della tabella dei checkpoint. Consente di identificare i miglioramenti futuri come numeri di versione della tabella. |
|
L'indicatore orario del commit della transazione di origine. |
|
Numero di sequenza del trail di input letto da Replicat al momento del checkpoint. |
|
Indirizzo di byte relativo raggiunto da Replicat nel trail identificato da SEQNO. RBA + SEQNO forniscono una posizione assoluta nel trail che identifica l'avanzamento di Replicat al momento del checkpoint. |
|
Il nome di un gruppo Replicat che utilizza questa tabella per i checkpoint. La stessa tabella può contenere più gruppi Replicat. Questa colonna fa parte della chiave primaria. |
|
La data e l'ora dell'ultimo aggiornamento della tabella dei checkpoint. |
|
La data e l'ora di creazione della tabella di checkpoint. |
|
La directory o la cartella home corrente di Oracle GoldenGate. |
|
Memorizza le transazioni tra i watermark alti e bassi già applicati. |
|
Memorizza la filigrana bassa, o il limite inferiore, dei CSN. Qualsiasi transazione con un numero CSN inferiore a questo valore è già stata elaborata. |
|
Memorizza la filigrana alta, o il limite superiore, dei CSN. Nessuna transazione con un numero CSN superiore a questo valore non è stata elaborata. |
|
Non utilizzata. Conservato per compatibilità con le versioni precedenti. |
|
Un identificatore unico che, insieme a , identifica in modo univoco un checkpoint indipendentemente dal numero di gruppi Replicat che scrivono nella stessa tabella. Questa colonna fa parte della chiave primaria. |
| Colonna | Descrizione |
|---|---|
|
Identificativo univoco che, insieme a GROUPNAME, identifica in modo univoco un checkpoint indipendentemente dal numero di gruppi Replicat che scrivono nella stessa tabella. Questa colonna fa parte della chiave primaria della tabella delle transazioni. |
|
Crea righe univoche nel caso in cui siano presenti così tante transazioni di overflow che sono necessarie più righe per memorizzarle tutte. Questa colonna fa parte della chiave primaria della tabella delle transazioni. |
|
Memorizza l'overflow delle transazioni tra i watermark alti e bassi già applicati. |
|
Chiave esterna che fa riferimento alla tabella dei checkpoint. Questa colonna fa parte della chiave primaria della tabella delle transazioni. |
|
Il nome di un gruppo Replicat che utilizza questa tabella per i checkpoint. La stessa tabella può contenere più gruppi Replicat. Questa colonna fa parte della chiave primaria della tabella delle transazioni. |
Informazioni sul checkpoint interno
Il comando INFO con l'opzione SHOWCH non solo visualizza le voci di checkpoint correnti, ma visualizza anche le informazioni sui metadati relative al record stesso. Queste informazioni non sono documentate e devono essere utilizzate dai processi di Oracle GoldenGate e dal personale di supporto durante la risoluzione di un caso di supporto.
I metadati sono contenuti nelle voci seguenti nell'output SHOWCH.
Header:
Version = 2
Record Source = A
Type = 1
# Input Checkpoints = 1
# Output Checkpoints = 0
File Information:
Block Size = 2048
Max Blocks = 100
Record Length = 2048
Current Offset = 0
Configuration:
Data Source = 0
Transaction Integrity = -1
Task Type = 0
Status:
Start Time = 2011-01-12 13:10:13
Last Update Time = 2011-01-12 21:23:31
Stop Status = A
Last Result = 400
INFO EXTRACT SHOWCH Comando: Informazioni sul checkpoint
L'esempio seguente presenta le informazioni sul checkpoint restituite dal comando INFO EXTRACT con l'opzione SHOWCH. In questo caso, l'origine dati è un cluster di database Oracle RAC, pertanto nell'output sono incluse informazioni sui thread. Per visualizzare i checkpoint passati, specificare il numero di checkpoint che si desidera visualizzare dopo l'argomento SHOWCH.
EXTRACT JC108XT Last Started 2011-01-01 14:15 Status ABENDED
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)
Log Read Checkpoint File /orarac/oradata/racq/redo01.log
2011-01-01 14:16:45 Thread 1, Seqno 47, RBA 68748800
Log Read Checkpoint File /orarac/oradata/racq/redo04.log
2011-01-01 14:16:19 Thread 2, Seqno 24, RBA 65657408
Current Checkpoint Detail:
Read Checkpoint #1
Oracle RAC Redo Log
Startup Checkpoint (starting position in data source):
Thread #: 1
Sequence #: 47
RBA: 68548112
Timestamp: 2011-01-01 13:37:51.000000
SCN: 0.8439720
Redo File: /orarac/oradata/racq/redo01.log
Recovery Checkpoint (position of oldest unprocessed transaction in data source):
Thread #: 1
Sequence #: 47
RBA: 68748304
Timestamp: 2011-01-01 14:16:45.000000
SCN: 0.8440969
Redo File: /orarac/oradata/racq/redo01.log
Current Checkpoint (position of last record read in the data source):
Thread #: 1
Sequence #: 47
RBA: 68748800
Timestamp: 2011-01-01 14:16:45.000000
SCN: 0.8440969
Redo File: /orarac/oradata/racq/redo01.log
Read Checkpoint #2
Oracle RAC Redo Log
Startup Checkpoint(starting position in data source):
Sequence #: 24
RBA: 60607504
Timestamp: 2011-01-01 13:37:50.000000
SCN: 0.8439719
Redo File: /orarac/oradata/racq/redo04.log
Recovery Checkpoint (position of oldest unprocessed transaction in data source):
Thread #: 2
Sequence #: 24
RBA: 65657408
Timestamp: 2011-01-01 14:16:19.000000
SCN: 0.8440613
Redo File: /orarac/oradata/racq/redo04.log
Current Checkpoint (position of last record read in the data source):
Thread #: 2
Sequence #: 24
RBA: 65657408
Timestamp: 2011-01-01 14:16:19.000000
SCN: 0.8440613
Redo File: /orarac/oradata/racq/redo04.log
Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 2
RBA: 2142224
Timestamp: 2011-01-01 14:16:50.567638
Extract Trail: ./dirdat/eh
Header:
Version = 2
Record Source = A
Type = 6
# Input Checkpoints = 2
# Output Checkpoints = 1
File Information:
Block Size = 2048
Max Blocks = 100
Record Length = 2048
Current Offset = 0
Configuration:
Data Source = 3
Transaction Integrity = 1
Task Type = 0
Status:
Start Time = 2011-01-01 14:15:14
Last Update Time = 2011-01-01 14:16:50
Stop Status = A
Last Result = 400
INFO REPLICAT, SHOWCH: Informazioni sul checkpoint
Il comando di base mostra i checkpoint correnti. Per visualizzare un numero specifico di checkpoint precedenti, digitare il valore dopo l'argomento SHOWCH.
REPLICAT JC108RP Last Started 2011-01-12 13:10 Status RUNNING
Checkpoint Lag 00:00:00 (updated 111:46:54 ago)
Log Read Checkpoint File ./dirdat/eh000000000
First Record RBA 3702915
Current Checkpoint Detail:
Read Checkpoint #1
GGS Log Trail
Startup Checkpoint(starting position in data source):
Sequence #: 0
RBA: 3702915
Timestamp: Not Available
Extract Trail: ./dirdat/eh
Current Checkpoint (position of last record read in the data source):
Sequence #: 0
RBA: 3702915
Timestamp: Not Available
Extract Trail: ./dirdat/eh
Header:
Version = 2
Record Source = A
Type = 1
# Input Checkpoints = 1
# Output Checkpoints =
File Information:
Block Size = 2048
Max Blocks = 100
Record Length = 2048
Current Offset = 0
Configuration:
Data Source = 0
Transaction Integrity = -1
Task Type = 0
Status:
Start Time = 2011-01-12 13:10:13
Last Update Time = 2011-01-12 21:23:31
Stop Status = A
Last Result = 400