Introduction
While setting up Oracle GoldenGate 19c, you may encounter errors related to unrecognized parameters in the GLOBALS file, leading to the PROCESS ABENDING state. In this post, I discuss a recent issue I faced and how I resolved it.
Error Details
After starting ggsci, the following error appeared:
-bash-4.2$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
Source Context :
SourceModule : [ggparam.util]
SourceID : [ggparam/paramutil.cpp]
SourceMethod : [generate_msg]
SourceLine : [942]
ThreadBacktrace : [14] elements
: [/u01/app/oracle/product/19c/ogg/libgglog.so(CMessageContext::AddThreadContext())]
: [/u01/app/oracle/product/19c/ogg/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))]
: [/u01/app/oracle/product/19c/ogg/libgglog.so(_MSG_String_UInt32_String(CSourceContext*, int, char const*, unsigned int, char const*, CMessageFactory::MessageDisposition))]
: [/u01/app/oracle/product/19c/ogg/libggparam.so(ggs::ggparam::error::generate_msg(unsigned long))]
: [/u01/app/oracle/product/19c/ogg/libggparam.so()]
: [/u01/app/oracle/product/19c/ogg/libggparam.so()]
: [./ggsci(readGlobalConfigFile())]
: [./ggsci()]
: [./ggsci(ggs::gglib::MultiThreading::MainThread::ExecMain())]
: [./ggsci(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]
: [./ggsci(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
: [./ggsci(main)]
: [/lib64/libc.so.6(__libc_start_main)]
: [./ggsci()]
2024-06-20 01:40:14 ERROR OGG-10143 (GLOBALS) line 3: Parameter [GLOBAL] is unrecognized. No parameter definition with that name could be found.
2024-06-20 01:40:14 ERROR OGG-01668 PROCESS ABENDING.
-bash-4.2$
Checking the GLOBALS file, I found the following parameters:
GGSCHEMA c##ggadmin
CHECKPOINTTABLE ESTPDB.C##GGADMIN.CKPTTBL
GLOBAL EXCEPTIONTABLE intpdb.c##ggadmin.GGEXCPT
Root Cause
The “GLOBAL EXCEPTIONTABLE” parameter caused the issue because it was not a valid parameter in the GLOBALS file. The correct syntax for EXCEPTIONTABLE should be used inside parameter files (like extract.prm or replicat.prm), not in GLOBALS.
Solution
To fix the issue, I commented out the incorrect line:
GGSCHEMA c##ggadmin
CHECKPOINTTABLE ESTPDB.C##GGADMIN.CKPTTBL
--GLOBAL EXCEPTIONTABLE intpdb.c##ggadmin.GGEXCPT
After making this change, ggsci started successfully without any errors.
Key Takeaways
- The GLOBALS file should only contain valid global parameters like
GGSCHEMA
andCHECKPOINTTABLE
. EXCEPTIONTABLE
should be defined in process-specific parameter files, such asreplicat.prm
, instead of the GLOBALS file.- If encountering
OGG-10143
, check for incorrect or unsupported parameters in the GLOBALS file.
This solution should help if you run into a similar issue in Oracle GoldenGate. Let me know your thoughts in the comments!
Conclusion
Troubleshooting Oracle GoldenGate errors can be challenging, but understanding the correct placement of parameters is crucial for a smooth deployment. In this case, the OGG-10143 error occurred due to an unsupported parameter in the GLOBALS file. By identifying the incorrect GLOBAL EXCEPTIONTABLE parameter and removing it, the issue was resolved, allowing ggsci to start successfully.
This serves as a reminder to:
- Always validate the GLOBALS file to ensure only global parameters are included.
- Place process-specific parameters like EXCEPTIONTABLE in extract or replicat parameter files.
- Carefully review Oracle GoldenGate documentation to avoid syntax errors.
By following these best practices, you can prevent unnecessary downtime and ensure a seamless Oracle GoldenGate setup. If you encounter similar issues, reviewing logs and making incremental changes can help pinpoint the root cause efficiently.