I got ” OGG-00446 Checkpoint table GGSCHKPT does not exist ” error in the Oracle Goldengate.
OGG-00446 Checkpoint table GGSCHKPT does not exist
Details of error are as follows.
Source Context :
SourceModule : [er.replicat.ReplicatContext]
SourceID : [er/replicat/ReplicatContext.cpp]
SourceMethod : [startDBCheckpointing]
SourceLine : [1503]
ThreadBacktrace : [12] elements
: [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(CMessageContext::AddThreadContext())]
: [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))]
: [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(_MSG_String(CSourceContext*, int, char const*, CMessageFactory::MessageDisposition)
)]
: [/ggateb01/goldengate/product/GG19cFor18cDB/replicat()]
: [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::ggapp::ReplicationContext::initializeDataSources(ggs::gglib::ggdatasource:
:DataSourceParams&))]
: [/ggateb01/goldengate/product/GG19cFor18cDB/replicat()]
: [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain())]
: [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::Thre
adArgs*))]
: [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
: [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(main)]
: [/lib64/libc.so.6(__libc_start_main)]
: [/ggateb01/goldengate/product/GG19cFor18cDB/replicat()]
2021-09-28 14:46:57 ERROR OGG-00446 Checkpoint table GGS_ADMIN19C.GGSCHKPT does not exist. Create this table with the ADD CHECKPOINTTABLE command.
2021-09-28 14:46:57 ERROR OGG-01668 PROCESS ABENDING.
Replicat abends with ERROR OGG-00446 Checkpoint table “table name” does not exist. Please create the table or recreate the “replicat” group using the correct table.
The mgr process was started from a different Oracle instance then where the replicat was connected
Checkpoint table did not exist in that database
Verify the DB instance where the checkpoint table should exist, or not create it as follows.
ggsci> add checkpointtable GGS_ADMIN19C.GGSCHKPT;
To create a new checkpoint table:
ggsci> dblogin userid "user id" PASSWORD "password" ggsci> add checkpointtable "checkpoint table name" ggsci> info "replicat" (Make a note of the trail file sequence number and RBA ) ggsci> delete "replicat"! ggsci> add rep "replicat" , exttrail "trail file" extseqno ###, extrba ####, checkpointtable "checkpoint table name" ( Use the extseqno and extrba from the INFO command)
Example:
If info replicat shows below information:
GGSCI> info repts2, showch EPLICAT REPTS2 Initialized 2021-10-19 08:18 Status STOPPED Description Process Trail file from VLDBPD2J Checkpoint Lag 00:00:00 (updated 01:08:32 ago) Log Read Checkpoint File ./dirdat/t2004888 First Record RBA 120750367
Than
ggsci> add checkpointtable VLOGG.GGS_CHECKPOINT ggsci> delete rep repts2 ! ggsci> add rep repts2, exttrail ./dirdat/t2 extseqno 004888, extrba 120750367, checkpointtable VLOGG.GGS_CHECKPOINT ggsci> start rep repts2
ggsci> start rep "replicat"
To use checkpoint table on replicat DB instance:
Set ORACLE_SID and ORACLE_HOME environment variables
Recycle manager process
ggsci>stop mgr ggsci> start mgr ggsci> start rep "replicat"