Détails supplémentaires des tables de points de reprise

Lorsque des points de reprise de base de données sont utilisés, Oracle GoldenGate crée une table de points de reprise avec un nom défini par l'utilisateur dans la base de données lors de l'exécution de la commande ADD CHECKPOINTTABLE, ou un utilisateur peut créer la table à l'aide de chkpt_db_create.sql script (où db est une abréviation du type de base de données pris en charge par le script).

Il existe deux tables : la table de points de reprise principale et une table de points de reprise auxiliaire créée automatiquement. La table auxiliaire, appelée table de transactions, porte le nom de la table de point de reprise principale ajoutée par _lox. Chaque processus Replicat, ou chaque thread d'un processus Replicat coordonné, utilise une ligne de la table de points de reprise pour stocker ses informations de progression.

Au moment du point de reprise, il y a généralement un certain nombre de transactions (parmi les n transactions totales) qui ont été appliquées, et les autres sont toujours en cours. Par exemple, si le processus Replicat traite un groupe de n transactions allant de CSN1 à CSN3. CSN1 est le filigrane haut et CSN3 est le filigrane bas. Toute transaction avec un numéro CSN supérieur au filigrane haut n'a pas été traitée et toute transaction avec un numéro CSN inférieur au filigrane bas a déjà été traitée. Les transactions terminées sont stockées dans la colonne LOG_CMPLT_XID de la table de points de reprise. Tout dépassement de ces transactions est stocké dans la table de transactions (table de points de reprise auxiliaire) dans la colonne LOG_CMPLT_XID de cette table.

Actuellement, le processus Replicat (ou chaque thread Replicat d'une réplication coordonnée) applique les transactions en série (pas en parallèle). Par conséquent, le filigrane haut (valeur LOG_CSN dans la table) est toujours le même que le filigrane bas (valeur LOG_CMPLT_CSN dans la table), et il n'existe généralement qu'un seul ID de transaction dans la colonne LOG_CMPLT_XID. La seule exception est lorsque plusieurs transactions partagent le même numéro CSN.

Ne modifiez pas les noms ou attributs des colonnes de ces tables. Vous pouvez modifier les attributs de stockage de table si nécessaire.

Colonne Description
LOG_BSN
LOG_BSN fournit les informations nécessaires à la réinitialisation de l'extraction dans le temps pour retraiter les transactions. Un certain filtrage par processus Replicat est nécessaire car il est probable que le processus Extract génère à nouveau une petite quantité de données déjà appliquées par le processus Replicat.
VERSION
Version du format de la table de points de reprise. Permet d'identifier les améliorations futures en tant que numéros de version de la table.
AUDIT_TS
Horodatage de la validation de la transaction source.
SEQNO
Numéro de séquence de la trace d'entrée que le processus Replicat lisait au moment du point de reprise.
RBA
Adresse d'octet relative atteinte par le processus Replicat dans la trace identifiée par SEQNO. RBA + SEQNO fournissent une position absolue dans la trace qui identifie la progression du processus Replicat au moment du point de reprise.
GROUP_NAME (primary key)
Nom d'un groupe de réplication utilisant cette table pour les points de reprise. Plusieurs groupes de réplication peuvent utiliser la même table. Cette colonne fait partie de la clé primaire.
LAST_UPDATE_TS
Date et heure de la dernière mise à jour de la table de points de reprise.
CREATE_TS
Date et heure auxquelles la table de points de reprise a été créée.
CURRENT_DIR
Répertoire de base ou dossier Oracle GoldenGate en cours.
LOG_CMPLT_XIDS
Stocke les transactions entre les filigranes haut et bas qui sont déjà appliquées.
LOG_CMPLT_CSN
Stocke le filigrane bas, ou la limite inférieure, des CSN. Toute transaction dont le CSN est inférieur à cette valeur a déjà été traitée.
LOG_CSN
Stocke le filigrane haut, ou la limite supérieure, des CSN. Toutes les transactions dont le numéro CSI est supérieur à cette valeur n'ont pas été traitées.
LOG_XID
Non utilisé. Retenue pour compatibilité descendante.
GROUP_KEY (primary key)
Un identificateur unique qui, associé à
GROUPNAME
, identifie de manière unique un point de reprise, quel que soit le nombre de groupes de réplication qui écrivent dans la même table. Cette colonne fait partie de la clé primaire.
Colonne Description
GROUP_KEY
Identificateur unique qui, avec GROUPNAME, identifie de manière unique un point de reprise, quel que soit le nombre de groupes de réplication qui écrivent dans la même table. Cette colonne fait partie de la clé primaire de la table de transactions.
LOG_CMPLT_XIDS_SEQ
Crée des lignes uniques dans le cas où il existe tellement de transactions de débordement que plusieurs lignes sont nécessaires pour les stocker toutes. Cette colonne fait partie de la clé primaire de la table de transactions.
LOG_CMPLT_XIDS
Stocke le débordement des transactions entre les filigranes haut et bas qui sont déjà appliquées.
LOG_CMPLT_CSN
Clé étrangère qui référence la table de points de reprise. Cette colonne fait partie de la clé primaire de la table de transactions.
GROUP_NAME
Nom d'un groupe de réplication utilisant cette table pour les points de reprise. Plusieurs groupes de réplication peuvent utiliser la même table. Cette colonne fait partie de la clé primaire de la table de transactions.

Informations sur le point de reprise interne

La commande INFO avec l'option SHOWCH affiche non seulement les entrées de point de reprise en cours, mais également les informations de métadonnées sur l'enregistrement lui-même. Ces informations ne sont pas documentées et sont destinées aux processus Oracle GoldenGate et au personnel de support lors de la résolution d'un ticket d'assistance.

Les métadonnées sont contenues dans les entrées suivantes de la sortie 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

Commande INFO EXTRACT SHOWCH : Informations sur le point de reprise

L'exemple suivant présente les informations de point de reprise renvoyées par la commande INFO EXTRACT avec l'option SHOWCH. Dans ce cas, la source de données est un cluster de base de données Oracle RAC. Les informations de thread sont donc incluses dans la sortie. Vous pouvez visualiser les points de reprise passés en indiquant le nombre de points à afficher après l'argument 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 : Informations sur le point de contrôle

La commande de base affiche les points de reprise en cours. Pour afficher un nombre spécifique de points de reprise précédents, saisissez la valeur après l'argument 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