Issue
In Oracle 19, a new field was added to USER_TABLES: logical_replication
In addition to running ADD TRANDATA and having the table supplemental logging, as can be validated in DBA_LOG_GROUPS, the table also must have USER_TABLES.logical_replication set to ENABLED.
In Oracle 19, a new field was added to USER_TABLES: logical_replication
In addition to running ADD TRANDATA and having the table supplemental logging, as can be validated in DBA_LOG_GROUPS, the table also must have USER_TABLES.logical_replication set to ENABLED.
When USER_TABLES.logical_replication is set to DISABLED, the Primary Key data is not written to the before and after image in Extract Files.
In this setup, INSERT and DELETE would work, but UPDATE Transactions are failing to be replicated, and replicat would fail with mapping error
In this setup, INSERT and DELETE would work, but UPDATE Transactions are failing to be replicated, and replicat would fail with mapping error
To Fix it, change USER_TABLES.logical_replication to ENABLED, and restart Extract on Source.
Fix
ALTER TABLE USER_A.TABLE_A ENABLE LOGICAL REPLICATION;
Evidences
The Error would be coming in REPLICAT, as it fails to process the UPDATE Transaction
This error would be coming in Site B replicat logs:
The Error would be coming in REPLICAT, as it fails to process the UPDATE Transaction
This error would be coming in Site B replicat logs:
2026-01-30 20:33:11 INFO OGG-02243 Opened trail file /software/ogg/191/dirdat/01/in/et000000004 at 2026-01-30 20:33:11.076300.
2026-01-30 20:33:11 WARNING OGG-02760 ASSUMETARGETDEFS is ignored because trail file /software/ogg/191/dirdat/01/in/et000000004 contains table definitions.
2026-01-30 20:33:11 INFO OGG-03506 The source database character set, as determined from the trail file, is UTF-8.
2026-01-30 20:33:11 INFO OGG-06505 MAP resolved (entry USER_A.TABLE_A): MAP "USER_A"."TABLE_A", TARGET USER_A.TABLE_A.
2026-01-30 20:33:11 INFO OGG-02756 The definition for table USER_A.TABLE_A is obtained from the trail file.
2026-01-30 20:33:11 INFO OGG-06511 Using following columns in default map by name: ACTION_ID, ACTION_NAME.
2026-01-30 20:33:11 INFO OGG-06510 Using the following key columns for target table USER_A.TABLE_A: ACTION_ID.
2026-01-30 20:33:11 WARNING OGG-01431 Aborted grouped transaction on USER_A.TABLE_A, Mapping error.
2026-01-30 20:33:11 WARNING OGG-01003 Repositioning to rba 2571 in seqno 4.
2026-01-30 20:33:11 WARNING OGG-01151 Error mapping from USER_A.TABLE_A to USER_A.TABLE_A.
Source Context :
SourceModule : [er.replicat.errors]
SourceID : [er/replicat/reperrors.cpp]
SourceMethod : [repError]
SourceLine : [1810]
ThreadBacktrace : [15] elements
: [/software/ogg/191/libgglog.so(CMessageContext::AddThreadContext())]
: [/software/ogg/191/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))]
: [/software/ogg/191/libgglog.so(_MSG_QualTableName_QualTableName(CSourceContext*, int, ggs::gglib::ggapp::CQualDBObjName<(DBObjType)1> const&, ggs::gglib::ggapp::CQualDBObjName<(DBObjType)1> const&, CMessageFactory::MessageDisposition))]
: [/software/ogg/191/replicat(ggs::er::ReplicatContext::repError(short, int, char const*, extr_ptr_def*, ggs::gglib::gglcr::CommonLCR const*, std_rec_hdr_def*, char*, ObjectMetadata*, bool))]
: [/software/ogg/191/replicat()]
: [/software/ogg/191/replicat(ggs::er::ReplicatContext::processRecord(ggs::gglib::gglcr::CommonLCR const*, ggs::gglib::gglcr::CommonLCR*, extr_ptr_def*&, extr_ptr_def*&, bool&, int&, bool, RepCsn&))]
: [/software/ogg/191/replicat(ggs::er::ReplicatContext::processReplicatLoop())]
: [/software/ogg/191/replicat(ggs::er::ReplicatContext::run())]
: [/software/ogg/191/replicat()]
: [/software/ogg/191/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain())]
: [/software/ogg/191/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]
: [/software/ogg/191/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
: [/software/ogg/191/replicat(main)]
: [/lib64/libc.so.6(__libc_start_main)]
: [/software/ogg/191/replicat()]
2026-01-30 20:33:11 ERROR OGG-01296 Error mapping from USER_A.TABLE_A to USER_A.TABLE_A.
What to check on SOURCE DB:
SELECT supplemental_log_data_min FROM V$DATABASE;
SUPPLEMENTAL_LOG_DATA_MIN
--------------------------------
YES
SELECT supplemental_log_data_min,
supplemental_log_data_pk,
supplemental_log_data_ui,
supplemental_log_data_all
FROM V$DATABASE;
SUPPLEMENTAL_LOG_DATA_MIN SUPPLEMENTAL_LOG_DATA_PK SUPPLEMENTAL_LOG_DATA_UI SUPPLEMENTAL_LOG_DATA_ALL
------------------------- ------------------------ ------------------------ -------------------------
YES NO NO NO
SELECT log_group_name,
table_name,
owner,
log_group_type,
always
FROM DBA_LOG_GROUPS
WHERE OWNER = 'USER_A'
AND TABLE_NAME = 'TABLE_A';
LOG_GROUP_NAME TABLE_NAME OWNER LOG_GROUP_TYPE ALWAYS
---------------- ----------- ------- ------------------- -----------
GGS_119994 TABLE_A USER_A USER LOG GROUP ALWAYS
SYS_C00197420 TABLE_A USER_A PRIMARY KEY LOGGING ALWAYS
SYS_C00197421 TABLE_A USER_A UNIQUE KEY LOGGING CONDITIONAL
SYS_C00197422 TABLE_A USER_A FOREIGN KEY LOGGING CONDITIONAL
SYS_C00197423 TABLE_A USER_A ALL COLUMN LOGGING ALWAYS
SELECT owner, table_name, logical_replication
FROM DBA_TABLES
WHERE owner='USER_A'
AND table_name='TABLE_A';
OWNER TABLE_NAME LOGICAL_REPLICATION
---------- --------------- ---------------------
USER_A TABLE_A DISABLED
ALTER TABLE USER_A.TABLE_A ENABLE LOGICAL REPLICATION;
SELECT owner, table_name, logical_replication
FROM DBA_TABLES
WHERE owner='USER_A'
AND table_name='TABLE_A';
OWNER TABLE_NAME LOGICAL_REPLICATION
---------- --------------- ---------------------
USER_A TABLE_A ENABLED
No comments:
Post a Comment