Introduction
The Oracle GoldenGate extract process DRRTE failed due to a misconfiguration of the EXTTRAIL parameter. The error log indicates that the trail file ./dirdat/d1 was not assigned to the extract process DRRTE, leading to the process abending.
Error Log
Source Context :
SourceModule : [er.extrout]
SourceID : [er/extrout.c]
SourceMethod : [setInitialPosition]
SourceLine : [1548]
ThreadBacktrace : [12] 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(CSourceContext*, int, char const*, CMessageFactory::MessageDisposition))]
: [/u01/app/oracle/product/19c/ogg/extract()]
: [/u01/app/oracle/product/19c/ogg/extract(ggs::gglib::ggtrail::LegacyTrailDataTarget::get_extract_chkpts(chkpt_context_t*))]
: [/u01/app/oracle/product/19c/ogg/extract()]
: [/u01/app/oracle/product/19c/ogg/extract(ggs::gglib::MultiThreading::MainThread::ExecMain())]
: [/u01/app/oracle/product/19c/ogg/extract(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]
: [/u01/app/oracle/product/19c/ogg/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
: [/u01/app/oracle/product/19c/ogg/extract(main)]
: [/lib64/libc.so.6(__libc_start_main)]
: [/u01/app/oracle/product/19c/ogg/extract()]
2024-07-26 02:05:52 ERROR OGG-01044 The trail './dirdat/d1' is not assigned to extract 'DRRTE'. Assign the trail to the extract with the command "ADD EXTTRAIL/RMTTRAIL ./dirdat/d1, EXTRACT DRRTE".
2024-07-26 02:05:52 ERROR OGG-01668 PROCESS ABENDING.
Initial Extract Configuration
The extract was initially configured with the trail file ./dirdat/d1:
EXTRACT drrte
SETENV (ORACLE_HOME ='/u01/app/oracle/product/19c/db_1')
SETENV (ORACLE_SID = 'ESTCDB')
USERID c##ggadmin@estcdb, PASSWORD oracle123
EXTTRAIL ./dirdat/d1
--TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 256)
--TRANLOGOPTIONS INTEGRATEDPARAMS (parallelism 2)
LOGALLSUPCOLS
--DDL INCLUDE MAPPED
--TRANLOGOPTIONS EXCLUDEUSER ESTPDB.TESTSYS
Root Cause
- The extract process was pointing to ./dirdat/d1, but the trail was not assigned to the extract DRRTE.
- GoldenGate expected the extract trail assignment but could not find it, leading to the error OGG-01044.
Fix: Updating the Extract to the Correct Trail Location
To resolve the issue, the trail file was changed to ./dirdat/d3:
EXTRACT drrte
SETENV (ORACLE_HOME ='/u01/app/oracle/product/19c/db_1')
SETENV (ORACLE_SID = 'ESTCDB')
USERID c##ggadmin@estcdb, PASSWORD oracle123
EXTTRAIL ./dirdat/d3
--TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 256)
--TRANLOGOPTIONS INTEGRATEDPARAMS (parallelism 2)
LOGALLSUPCOLS
Post-Fix Extract Status
After changing the trail location, the extract process resumed successfully:
GGSCI (ggate1 as c##ggadmin@ESTCDB/CDB$ROOT) 285> info drrte
EXTRACT DRRTE Last Started 2024-07-26 02:08 Status RUNNING
Checkpoint Lag 00:00:04 (updated 00:00:07 ago)
Process ID 1033
Log Read Checkpoint Oracle Integrated Redo Logs
2024-07-26 02:08:20
SCN 0.20976466 (20976466)
Final Notes
- If the trail file location is changed, the new trail must be explicitly assigned to the extract process using:
ADD EXTTRAIL ./dirdat/d3, EXTRACT DRRTE;
- Always verify the extract status using INFO EXTRACT after making configuration changes.
- Ensure the correct trail path is assigned before restarting the process to avoid unnecessary downtime
Summary
The Oracle GoldenGate extract process DRRTE failed due to an incorrect trail file assignment (./dirdat/d1), resulting in error OGG-01044 and process abend OGG-01668. The issue was resolved by updating the trail file location to ./dirdat/d3, reconfiguring the extract, and restarting the process. After the fix, the extract resumed successfully, reading from Oracle Integrated Redo Logs with minimal checkpoint lag. To prevent similar issues, always assign the correct trail file using ADD EXTTRAIL and verify the extract status before restarting.