-
Notifications
You must be signed in to change notification settings - Fork 147
Open
Description
A brief description of the bug.
When Oracle table [t2] has a column of type JSON, the update events does have primary key column
Is the bug present on the latest master branch.
I'm using latest 1.8.6 version, Oracle version is [Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0]
Describe steps required to reproduce the bug.
table [t2] defineds as:
create table T2
(
ID VARCHAR2(50 char) not null
primary key,
UPDATED TIMESTAMP(6) default NULL,
FLOAT_COL FLOAT(53),
JSON_COL JSON
)
Oracle is installed by docker compose:
services:
oracle:
image: oracle/database:21.3.0-ee
container_name: oracle21c
ports:
- "1521:1521"
- "5500:5500" # Enterprise Manager Express
environment:
ORACLE_SID: ORCLCDB
ORACLE_PDB: ORCLPDB1
ORACLE_PWD: Oracle123
ORACLE_CHARACTERSET: AL32UTF8
volumes:
- ./oradata:/opt/oracle/oradata
- ./fra:/opt/oracle/fast_recovery_area
shm_size: 2g
OLR docker compose :
services:
openlogreplicator:
image: bersler/openlogreplicator:debian-12.0-1.8.6
container_name: olr
volumes:
- /app/oracle/instaince/fra:/opt/fra
- /app/oracle/instaince/oradata:/opt/oradata
- ./checkpoint:/opt/OpenLogReplicator/checkpoint
- ./log:/opt/OpenLogReplicator/log
- ./output:/opt/output
- ./scripts:/opt/OpenLogReplicator/scripts
restart: no #unless-stopped
OLR config: OpenLogReplicator.json
{
"version": "1.8.6",
"log-level": 4,
"trace": 0,
"dump-redo-log": 0,
"dump-path": "./log",
"dump-raw-data": 0,
"source": [
{
"alias": "S1",
"name": "ORA1",
"arch-read-sleep-us": 1000,
"redo-read-sleep-us": 5000,
"flags": 492832,
"reader": {
"type": "online",
"path-mapping": ["/opt/oracle/oradata", "/opt/oradata", "/opt/oracle/fra", "/opt/fra"],
"user": "olruser",
"password": "olr",
"server": "//192.168.31.70:1521/ORCLPDB1",
"host-timezone": "+00:00",
"log-timezone": "+00:00",
"db-timezone": "+00:00"
},
"format": {
"type": "json",
"attributes": 0,
"column": 2,
"flush-buffer": 0,
"db": 3,
"message": 19,
"rid": 1,
"schema": 3,
"timestamp": 9,
"unknown": 0,
"unknown-type": 0,
"xid": 2
},
"filter": {
"table": [
{"owner": "TEST", "table": ".*"},
{"owner": "DEV", "table": ".*"}
]
}
}
],
"target": [
{
"...":""
}
]
}
- List of commands required to achieve the error, for example:
sql commands:
INSERT INTO TEST.T2 (ID, UPDATED, FLOAT_COL, JSON_COL)
VALUES ('111', current_timestamp, 66.66,
'{"item_id":5905,"item_name":"Random Item 248","price":241.24}');
UPDATE TEST.T2 t SET t.UPDATED = current_timestamp, FLOAT_COL=33.333 WHERE t.ID = '111';
UPDATE TEST.T2 t SET t.UPDATED = current_timestamp, JSON_COL='{"test":5666}' WHERE t.ID = '111';
- OLR fired events are:
{"scn":3878313,"tms":"2025-09-05T08:50:15Z.000000Z","c_scn":3883253,"c_idx":1,"xidn":1970402146386562,"db":"ORCLPDB1","payload":[{"op":"c","offset":107050916,"num":0,"rid":"AAASiLAAMAAAAEEAAD","after":{"ID":"313131","UPDATED":"787d09050933073667eae0","FLOAT_COL":"c14343","JSON_COL":"00700001010c00800001000000010000000763d1005c4890005600005201ff4a5a012106030018002400002a76a0001200000008076974656d5f6964096974656d5f6e616d650570726963658403020301000b000f001f22c23c060f52616e646f6d204974656d2032343823c2032a19"}}]}
{"scn":3883254,"tms":"2025-09-05T08:50:24Z.000000Z","c_scn":3883271,"c_idx":1,"xidn":1688905694839463,"db":"ORCLPDB1","payload":[{"op":"u","offset":107059872,"num":0,"rid":"AAASiLAAMAAAAEEAAD","before":{"UPDATED":"787d09050933073667eae0","FLOAT_COL":"c14343"},"after":{"UPDATED":"787d090509331819d32908","FLOAT_COL":"c122221f"}}]}
{"scn":3883318,"tms":"2025-09-05T08:50:41Z.000000Z","c_scn":3883319,"c_idx":1,"xidn":2814801306714707,"db":"ORCLPDB1","payload":[{"op":"u","offset":107074624,"num":0,"rid":"AAASiLAAMAAAAEEAAD","before":{"UPDATED":"787d090509331819d32908","JSON_COL":"00700001010c00800001000000010000000763d1005c4890005600005201ff4a5a012106030018002400002a76a0001200000008076974656d5f6964096974656d5f6e616d650570726963658403020301000b000f001f22c23c060f52616e646f6d204974656d2032343823c2032a19"},"after":{"UPDATED":"787d09050933283ab8fd50","JSON_COL":"00700001010c00800001000000010000000763d200284890002200001e01ff4a5a01210601000500090000e500000474657374840101000522c23943"}}]}
Additional context
- As a table [t1] which removes the JSON column, everything works just fine.
- I have enabled [0x10000 , 0x20000 ] in flags param, but disable them does not make a difference
Metadata
Metadata
Assignees
Labels
No labels