Я экспериментирую с OGG BD (v12.3.2.1.1), чтобы распространить все изменения из базы данных Oracle (11.2.0.4) на темы Kafka.
У меня все основные настройки работают, и INSERTи УДАЛИТЬ к схемам / таблицам, которые я отслеживаю, фиксируются и генерируют сообщения Kafka на настроенные темы (1 тема на таблицу).Пока все как положено.
Но операции UPDATE над базой данных не работают.Они не выдают никаких ошибок, но просто не появляются соответствующие сообщения в теме.Я проверил с помощью утилиты logdump, что UPDATE фактически передается в файл трассировки, но kafkahandler не находит его.
Есть идеи, что может быть не так?Конфигурации приведены ниже
Файл PRM OGG
SETENV (TZ = "UTC")
REPLICAT kafkajsn
TARGETDB LIBFILE libggjava.so SET property=dirprm/kafkajsn.props
REPORTCOUNT EVERY 1 MINUTES, RATE
REPERROR DEFAULT DISCARD
APPLYNOOPUPDATES
ALLOWNOOPUPDATES
GETTRUNCATES
GETUPDATEBEFORES
DDL INCLUDE MAPPED
GROUPTRANSOPS 100
-- all tables have an 'ID' column
MAP *.*, TARGET *.*, KEYCOLS(ID);
Файл параметров Kafkahandler
gg.handlerlist = kafkahandler
gg.handler.kafkahandler.type=kafka
gg.handler.kafkahandler.KafkaProducerConfigFile=kafka_producer.properties
gg.handler.kafkahandler.topicMappingTemplate=${schemaName}_${tableName}
gg.handler.kafkahandler.keyMappingTemplate=${primaryKeys}
gg.handler.kafkahandler.SchemaTopicName=SCHEMA_CHANGES
gg.handler.kafkahandler.mode=op
gg.handler.kafkahandler.format=json_row
gg.handler.kafkahandler.format.includePrimaryKeys=true
gg.classpath=dirprm/:/etc/kafka/conf:/usr/hdp/current/kafka-broker/libs/*
javawriter.bootoptions=-Xmx1g -Xms1g -Djava.class.path=ggjava/ggjava.jar
Logdump файла журнала для REPLICAT (это было ОБНОВЛЕНИЕ ...SET comment = 'foo122' WHERE id = ...)
2019/05/04 21:10:02.000.601 GGSUnifiedUpdate Len 30 RBA 64926561
Name: ORDER (TDR Index: 19)
After Image: Partition 12 G s
0c00 0000 0400 0800 0000 0400 666f 6f31 0400 0a00 | ............foo1....
0000 0600 666f 6f31 3232 | ....foo122
Before Image Len 16 (x00000010)
BeforeColumnLen 12 (x0000000c)
Column 4 (x0004), Len 8 (x0008)
After Image Len 14 (x0000000e)
Column 4 (x0004), Len 10 (x000a)
РЕДАКТИРОВАТЬ: сообщение об ошибке
Я был неправ, когда сказал, что он не производитСообщение об ошибке, я просто не видел его.В файле сброса (.dsc) я получаю
Operation failed at seqno 45 rba 108411
Discarding record on action DISCARD on error 0
Problem replicating ORDER to ORDER
Mapping problem with unified update record (target format)...
*
TRANSACTION_COMMENT = folkjhlkjhlkjhkljl jk lj5345u
000000: 66 6f 6c 6b 6a 68 6c 6b 6a 68 6c 6b 6a 68 6b 6c |folkjhlkjhlkjhkl|
000010: 6a 6c 20 6a 6b 20 6c 6a 35 33 34 35 75 |jl jk lj5345u |
TRANSACTION_COMMENT = folkjhlkjhlkjhkljl jk ljjhlkjhlkh5345u
000000: 66 6f 6c 6b 6a 68 6c 6b 6a 68 6c 6b 6a 68 6b 6c |folkjhlkjhlkjhkl|
000010: 6a 6c 20 6a 6b 20 6c 6a 6a 68 6c 6b 6a 68 6c 6b |jl jk ljjhlkjhlk|
000020: 68 35 33 34 35 75 |h5345u |