检查点表附加详细信息
使用数据库检查点时,Oracle GoldenGate 在执行 ADD CHECKPOINTTABLE 命令时在数据库中创建具有用户定义名称的检查点表,或者用户可以使用 chkpt_db_create.sql script 创建表(其中 db 是脚本支持的数据库类型的缩写)。
有两个表:主检查点表和自动创建的辅助检查点表。辅助表(称为事务处理表)包含附加了 _lox 的主检查点表的名称。每个复制或协调复制的每个线程都使用检查点表中的一行来存储其进度信息。
在检查点时,通常会应用一些事务处理(在 n 个事务处理总数中),其余事务处理仍在处理中。例如,如果 Replicat 正在处理一组从 CSN1 到 CSN3 的 n 个事务。CSN1 是高水位标志,CSN3 是低水位标志。尚未处理 CSN 高于高水位标志的任何事务,并且已处理 CSN 低于低水位标志的任何事务。已完成的事务处理存储在检查点表的 LOG_CMPLT_XID 列中。这些事务的任何溢出都存储在事务表(辅助检查点表)中该表的 LOG_CMPLT_XID 列中。
目前,复制(或协调复制的每个复制线程)以串行方式(非并行方式)应用事务;因此,高水位标志(表中的 LOG_CSN 值)始终与低水位标志(表中的 LOG_CMPLT_CSN 值)相同,且 LOG_CMPLT_XID 列中通常只有一个事务 ID。唯一的例外是存在多个共享同一 CSN 的事务处理。
不要更改这些表中列的名称或属性。可以根据需要更改表存储属性。
| 列 | 说明 |
|---|---|
|
LOG_BSN 提供了及时设置提取以重新处理事务处理所需的信息。某些按复制过滤是必要的,因为提取可能会重新生成已经由复制应用的小量数据。 |
|
检查点表格式的版本。允许将来将增强功能标识为表的版本号。 |
|
源事务处理提交的时间戳。 |
|
Replicat 在检查点时读取的输入线索的序列号。 |
|
Replicat 在由 SEQNO 标识的线索中达到的相对字节地址。RBA + SEQNO 提供了线索中的绝对位置,该位置标识了检查点时复制的进度。 |
|
使用此表的检查点的复制组的名称。可以有多个使用同一表的复制组。此列是主键的组成部分。 |
|
上次更新检查点表的日期和时间。 |
|
创建检查点表的日期和时间。 |
|
当前 Oracle GoldenGate 主目录或文件夹。 |
|
存储已应用的高水位和低水位之间的事务处理。 |
|
存储 CSN 的低水印或下边界。已处理 CSN 低于此值的任何事务处理。 |
|
存储 CSN 的高水位标志或上边界。尚未处理 CSN 超过此值的任何事务处理。 |
|
未使用。为向后兼容而保留。 |
|
唯一标识符,以及 ,唯一标识检查点,而不考虑向同一个表写入了多少个复制组。此列是主键的组成部分。 |
| 列 | 说明 |
|---|---|
|
一个唯一标识符,与 GROUPNAME 一起唯一标识检查点,而不管正在向同一个表写入多少个复制组。此列是事务处理表主键的一部分。 |
|
在有太多溢出事务处理时创建唯一行,需要多行来存储所有溢出事务处理。此列是事务处理表主键的一部分。 |
|
存储已应用的高水位和低水位之间的事务处理溢出。 |
|
引用检查点表的外键。此列是事务处理表主键的一部分。 |
|
使用此表的检查点的复制组的名称。可以有多个使用同一表的复制组。此列是事务处理表主键的一部分。 |
内部检查点信息
带有 SHOWCH 选项的 INFO 命令不仅显示当前检查点条目,而且还显示有关记录本身的元数据信息。此信息未记录,供 Oracle GoldenGate 流程和支持人员在解决支持案例时使用。
元数据包含在 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 命令:检查点信息
以下示例显示了 INFO EXTRACT 命令返回的带有 SHOWCH 选项的检查点信息。在这种情况下,数据源是 Oracle RAC 数据库集群,因此输出中包括线程信息。您可以通过指定要在 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:检查点信息
基本命令显示当前检查点。要查看以前检查点的特定数量,请在 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