changedatacapture.net Research Guide

LogMiner JDBC Config Generator

Generate production-ready Debezium Server config with JDBC-backed offset and schema history storage.

Debezium Oracle LogMiner JDBC Config Tool

Select a performance profile, snapshot mode, and deployment topology to generate a complete Debezium Server configuration. Covers Oracle LogMiner with JDBC-backed offset storage and schema history, heartbeat setup, Oracle user grants, and pre-deployment verification steps.

Architecture

Oracle DB
Redo Logs
Source
LogMiner
Debezium Server
Oracle Connector
Sink
Any Sink
Kafka / Kinesis
Destination
JDBC Offsets
SCN position
JDBC Schema History
DDL record
State storage (no Kafka required)

LogMiner reads Oracle redo logs directly via SQL. No Oracle GoldenGate license required. Debezium persists its System Change Number (SCN) position and full DDL history to a relational database via JDBC, so Kafka is not needed for state management.

Configuration generator

Deployment parameters

Safe production defaults. Poll every second, moderate batch and queue sizes.

Captures current state of all tables, then begins streaming.

Performance impact

quarkus.log.level=INFO
quarkus.log.category."io.debezium".level=INFO

debezium.sink.type=kafka

debezium.source.connector.class=io.debezium.connector.oracle.OracleConnector

debezium.source.topic.prefix=ora_prod

debezium.source.database.hostname=${ORACLE_HOST}
debezium.source.database.port=${ORACLE_PORT}
debezium.source.database.user=${ORACLE_USER}
debezium.source.database.password=${ORACLE_PASSWORD}
debezium.source.database.dbname=${ORACLE_CDB_NAME}
debezium.source.database.pdb.name=${ORACLE_PDB_NAME}

debezium.source.database.connection.adapter=logminer
debezium.source.log.mining.strategy=online_catalog

debezium.source.snapshot.mode=initial
debezium.source.table.include.list=${TABLE_INCLUDE_LIST}

debezium.source.heartbeat.interval.ms=10000
debezium.source.signal.data.collection=${ORACLE_SCHEMA}.debezium_signal

debezium.source.poll.interval.ms=1000
debezium.source.max.batch.size=2048
debezium.source.max.queue.size=8192
debezium.source.time.precision.mode=adaptive

debezium.source.offset.storage=io.debezium.storage.jdbc.offset.JdbcOffsetBackingStore
debezium.source.offset.storage.jdbc.url=${OFFSETS_JDBC_URL}
debezium.source.offset.storage.jdbc.user=${OFFSETS_JDBC_USER}
debezium.source.offset.storage.jdbc.password=${OFFSETS_JDBC_PASSWORD}
debezium.source.offset.storage.jdbc.offset.table.name=debezium_offsets

debezium.source.schema.history.internal=io.debezium.storage.jdbc.history.JdbcSchemaHistory
debezium.source.schema.history.internal.jdbc.url=${HISTORY_JDBC_URL}
debezium.source.schema.history.internal.jdbc.user=${HISTORY_JDBC_USER}
debezium.source.schema.history.internal.jdbc.password=${HISTORY_JDBC_PASSWORD}
debezium.source.schema.history.internal.jdbc.schema.history.table.name=debezium_schema_history

Oracle prerequisites and validation

Oracle preflight checklist

  • +
    ARCHIVELOG mode
    SELECT log_mode FROM v$database;
  • +
    Supplemental logging

    Database-level minimal logging plus table-level ALL logging.

    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    ALTER TABLE schema.table ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
  • +
    Debezium user grants

    Create a dedicated user. Do not grant DBA.

    GRANT CREATE SESSION, LOGMINING TO c##debezium;
    GRANT SELECT ON V_$DATABASE TO c##debezium;
    GRANT FLASHBACK ANY TABLE TO c##debezium;

    See the research guide for the full grants table.

  • +
    Oracle compatibility

    The compatible parameter must be at least 12.2 for CDB/PDB mining.

Validation steps

Startup and offset check

Confirm Debezium loads JDBC offsets and starts mining.

grep -E "Loaded offset|LogMiner session" application.log
Health endpoints

Both should return HTTP 200 with status UP.

curl http://host:port/q/health/live
curl http://host:port/q/health/ready
DDL propagation

Add a column to a captured table, then verify the schema history table received the event.

SELECT * FROM debezium_schema_history ORDER BY record_insert_ts DESC;
Restart and resume

Stop the connector, make a data change, restart. Confirm the connector resumes from the last committed offset and captures the missed change.

JDBC table growth

The offset table is append-only. Schedule a periodic cleanup job to delete rows older than your retention window. The schema history table grows more slowly but should also be monitored.

Related tools

Part of: Debezium Oracle CDC