Skip to main content
GoldenGate

Replicat Abended with checkpoint table does not exist

By October 28, 2021August 28th, 2022No Comments5 min read

Golden Gate Bi-directional setup was deleted and again tried to configure the Golden Gate Bi-directional. After starting the replicat process on the target, the process got abended with the error “OGG-02603 Checkpoint table ggadmin.GGS_CHECKPOINT does not exist”
In the Initial setup, the created checkpoint table name is “GGS_CHECPOINT,” but when the configuration was destroyed, the checkpoint table was dropped.

But due to the Golden Gate configuration information, the checkpoint table “GGS_CHECKPOINT” is unable to find, because neither the table exist, and also, adding the checkpoint table step was skipped. Due to that, based on the OGG configuration, it is expecting the accessibility of the table “GGS_CHECKPOINT”

Let’s try to understand the error log of the replicat process. The log response is straightforward to the required checkpoint that does not exist. But let’s explore why.

2021-08-07 14:48:20 INFO OGG-25341 
Database Language and Character Set:
NLS_LANGUAGE = "AMERICAN" 
NLS_TERRITORY = "AMERICA" 
NLS_CHARACTERSET = "WE8MSWIN1252".

2021-08-07 14:48:20 INFO OGG-06604 Database PRODT CPU info: CPU Count 4, CPU Core Count 4, CPU Socket Count 1.

Source Context :
SourceModule : [er.chkpt.db]
SourceID : [er/chkptdb.c]
SourceMethod : [CHKPTDB_compareCheckpointPosition]
SourceLine : [210]
ThreadBacktrace : [13] elements
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/libgglog.so(CMessageContext::AddThreadContext())]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/libgglog.so(_MSG_QualTableName(CSourceContext*, int, ggs::gglib::ggapp::CQualDBObjName<(DBObjType)1> const&, CMessag
eFactory::MessageDisposition))]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat()]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat(ggs::er::ReplicatContext::startDBCheckpointing())]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat(ggs::gglib::ggapp::ReplicationContext::initializeDataSources(ggs::gglib::ggdatasource::DataSourceParams&))]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat()]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain())]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat(main)]
: [/lib64/libc.so.6(__libc_start_main)]
: [/u01/app/oracle/product/OGG_19.1.0/ogghome_1/replicat()]

2021-08-07 14:48:20 ERROR OGG-02603 Checkpoint table ggadmin.GGS_CHECKPOINT does not exist. Create this table with the ADD CHECKPOINTTABLE command.

2021-08-07 14:48:20 ERROR OGG-01668 PROCESS ABENDING.


GGSCI (ORA-X1 as ggadmin@PRODT) 8>

Next, read the replicat information with the attributes using the below command.

 

GGSCI (ORA-X1 as ggadmin@PRODT) 16> info inrep1, showch

REPLICAT INREP1 Initialized 2021-08-07 14:48 Status STOPPED
INTEGRATED
Checkpoint Lag 00:00:00 (updated 00:06:46 ago)
Log Read Checkpoint File /dirdat/rt000000000
First Record RBA 0


Current Checkpoint Detail:

Read Checkpoint #1

GGS Log Trail

Startup Checkpoint (starting position in the data source):
Sequence #: 0
RBA: 0
Timestamp: Not Available
Extract Trail: /dirdat/rt
Seqno Length: 9

Current Checkpoint (position of last record read in the data source):
Sequence #: 0
RBA: 0
Timestamp: Not Available
Extract Trail: /dirdat/rt
Seqno Length: 9

Header:
Version = 2
Record Source = U
Type = 14
# Input Checkpoints = 1
# Output Checkpoints = 0

Configuration:
Data Source = 0
Transaction Integrity = -1
Task Type = 0

Database Checkpoint:
Checkpoint table = ggadmin.GGS_CHECKPOINT
Key = 1613821723 (0x6030f71b)
Create Time = 2021-08-07 14:48:05

Status:
Start Time = 2021-08-07 14:48:05
Last Update Time = 2021-08-07 14:48:05
Stop Status = G
Last Result = 0

GGSCI (ORA-X1 as ggadmin@PRODT) 17>

 

In the above output, the checkpoint table points to “GGS_CHECKPOINT”. Since it was already used in the previous exercise let’s add the replicat with the new checkpoint table.

GGSCI (ORA-X1 as ggadmin@PRODT) 19> add replicat inrep1, integrated exttrail /dirdat/rt, checkpointtable GGADMIN.CKPT
REPLICAT (Integrated) added.

Now, start the replicat process.

 

GGSCI (ORA-X1 as ggadmin@PRODT) 20> start inrep1

Sending START request to MANAGER ...
REPLICAT INREP1 starting


GGSCI (ORA-X1 as ggadmin@PRODT) 21> info inrep1, showch

REPLICAT INREP1 Last Started 2021-08-07 14:57 Status RUNNING
INTEGRATED
Checkpoint Lag 00:00:00 (updated 00:00:02 ago)
Process ID 2717
Log Read Checkpoint File /dirdat/rt000000000
First Record RBA 0


Current Checkpoint Detail:

Read Checkpoint #1

GGS Log Trail

Startup Checkpoint (starting position in the data source):
Sequence #: 0
RBA: 0
Timestamp: Not Available
Extract Trail: /dirdat/rt
Seqno Length: 9

Current Checkpoint (position of last record read in the data source):
Sequence #: 0
RBA: 0
Timestamp: Not Available
Extract Trail: /dirdat/rt
Seqno Length: 9

Header:
Version = 2
Record Source = A
Type = 14
# Input Checkpoints = 1
# Output Checkpoints = 0

Configuration:
Data Source = 0
Transaction Integrity = -1
Task Type = 0

Database Checkpoint:
Checkpoint table = GGADMIN.CKPT
Key = 1695236896 (0x650b4320)
Create Time = 2021-08-07 14:57:31

Status:
Start Time = 2021-08-07 14:57:37
Last Update Time = 2021-08-07 14:57:41
Stop Status = A
Last Result = 400
GGSCI (ORA-X1 as ggadmin@PRODT) 22>

 

From the above output, we can see the new checkpoint table was added to the configuration. Finally, do not forget to add the checkpoint table information ./GLOBALS parameter.

Tip: Checkpoint table required only where the replicat is running!

 

Leave a Reply